spring boot集成swagger2
pom配置
pom 配置
<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>
配置swagger
@Configuration
public class Swagger2Config {
@Bean
public Docket swaggerConfig() {
return new Docket(DocumentationType.SWAGGER_2).pathMapping("/")
.select()
.apis(RequestHandlerSelectors.basePackage("com.vtest.it.micservicemesservice.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(new ApiInfoBuilder()
.title("service") //swagger ui 主标题
.description("Service api details") // 描述
.version("2.9.2") // 版本
.license("Apache License, Version 2.0") //license,可选取其他license
.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0.html")
.contact(new Contact("名称", "网站", "邮箱地址"))
.build());
}
}
注解释义
主要的几个注解及其使用如下,更多的注解及其使用方法请参考官网
@Api(tags = "database service") 注解controller,标识该类的主要用途
@ApiOperation("the purpose of this method") 注解方法,标识该方法的主要用途
@ApiImplicitParams(
{
@ApiImplicitParam(name = "入参名称1", value = "参数1描述", defaultValue = "默认值", required = true|false),
@ApiImplicitParam(name = "入参名称2", value = "参数1描述", defaultValue = "默认值", required = true|false)
...... //如有多个参数可以复制已上配置
}
) 标识方法中入参,入参释义,默认值,是否必须
@ApiModel 标识bean
@ApiModelProperty(value = "user name") 标识字段
注解示例
@Api
@Api(tags = "service")
@RestController
public class DemoController {
......
}
@ApiOperation 和 @ApiImplicitParams 和 @ApiImplicitParam
@ApiOperation("the purpose of this method")
@ApiImplicitParams(
{
@ApiImplicitParam(name = "val1", value = "val1", defaultValue = "null", required = true),
@ApiImplicitParam(name = "val2", value = "val2", defaultValue = "null", required = true)
}
)
@GetMapping("/WaferIdAndBySlot/{val1}/{val2}")
String getValue(@PathVariable("val1") String val, @PathVariable("val2") String val1) {
......
}
@ApiModel 和 @ApiModelProperty
@ApiModel
public class DemoBean {
@ApiModelProperty(value = "val1")
private String val1;
@ApiModelProperty(value = "val2")
private String val2;
@ApiModelProperty(value = "val3")
private String val3;
}
swagger ui界面
开启spring boot应用之后,可以在本地查看调试 url:http://localhost:${port}/swagger-ui.html (port 为自定义端口)