前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot Swagger框架

SpringBoot Swagger框架

作者头像
DataScience
发布2020-01-01 22:31:55
5690
发布2020-01-01 22:31:55
举报
文章被收录于专栏:A2DataA2Data

本文标识 : Jsbt0004

本文编辑 : Jack 风

编程工具 : IDEA

阅读时长 : 6分钟

::: tip Swagger

描述和测试 API 接口,自动生成 API 接口文档。

:::

为了方便上面的 API 接口调试,我们可以使用:

  • Postman:模拟 POST 请求
  • Swagger:描述和测试 API 接口

1、添加依赖

代码语言:javascript
复制
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

2、Swagger 配置

yml 配置文件

代码语言:javascript
复制
swagger:
  title: SpringBoot学习
  description: SpringBoot快速入门
  version: 1.0.0
  name: JackFeng
  url: http://a2data.cn
  email: 66860619@qq.com

Swagger 配置文件

代码语言:javascript
复制
/**
 * @author: jack[QQ:66860619]
 * @create: 2019-11-20
 * @description:
 */
@ConfigurationProperties(prefix = "swagger")
@Configuration //必须存在
@EnableSwagger2 //必须存在
@EnableWebMvc //必须存在
@Data  //lomlok
//必须存在 扫描的API Controller包
@ComponentScan(basePackages = {"com.jack.demo.controller"})
public class SwaggerConfig{

    private String title;
    private String description;
    private String version;

    private String name;
    private String url;
    private String email;

    @Bean
    public Docket customDocket() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        Contact contact = new Contact(name, url, email);
        return new ApiInfoBuilder()
                .title(title)
                .description(description)
                .contact(contact)
                .version(version)
                .build();
    }
}

配置文件中的值到配置类中的注入,在第八章 springboot-08-配置文件的注入中有介绍

MVC 配置

作用:过滤网页静态资源

代码语言:javascript
复制
@Configuration
class WebMvcConfig implements WebMvcConfigurer {

    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

}

3、使用注解

在控制器 API 上添加接口描述的注解

代码语言:javascript
复制
@RestController
@Api(value = "用户模块")
public class HelloController {
    @GetMapping("/hello")
    @ApiOperation(value = "测试Swagger")
    public String hello(){
        return "hello SpringBoot-swagger";
    }
}

4、Webjars 的使用

官网:https://www.webjars.org/

代码语言:javascript
复制
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1-1</version>
</dependency>

通过 jar 包的方式引入了 jQuery

再浏览器中可以通过如下地址访问到

http://localhost:8080/webjars/jquery/3.3.1-1/jquery.js

地址说明:/webjars/jquery/3.3.1-1/jquery.js

对应上面的 webjars/ artifactId/version/文件名

可以到项目中的 jar 包中具体查看。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、添加依赖
  • 2、Swagger 配置
  • 3、使用注解
  • 4、Webjars 的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档