Swagger框架
描述和测试API接口,自动生成API接口文档。
1.添加依赖
<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>
<!--lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
2.Swagger配置
在resources目录下新建application.yml文件,添加如下配置
swagger:
title: SpringBoot学习
description: SpringBoot学习
version: 1.0.0
name: lk
url: https://pallcard.github.io
email: 1250585541@qq.com
新建SwaggerConfig文件
@Configuration
@EnableWebMvc
@EnableSwagger2
@ConfigurationProperties(prefix = "swagger")
@Data //lombok
@ComponentScan(basePackages = {"cn.wishhust.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();
}
}
MVC配置:过滤网页静态资源
@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.使用
@RestController
@RequestMapping("/test")
@Api(value = "测试")
public class HelloWorld {
Logger log = LoggerFactory.getLogger(HelloWorld.class);
@GetMapping(value={"/hello"})
@ApiOperation(value = "hello")
// @ApiImplicitParam
public String hello(){
return "Hello Spring Boot";
}
}