io.springfox
springfox-swagger2
2.9.2
io.springfox
springfox-swagger-ui
2.9.2
@Configuration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//swagger要扫描的controller包
.apis(RequestHandlerSelectors.basePackage("com.liu.product.controller"))
.paths(PathSelectors.any())
.build();
}
protected ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Swagger2构建product接口文档RESTful APIs")
.description("product接口文档")
.version("1.0.0")
.build();
}
}
apiInfo()的方法说明:
title:接口文档的标题
description:接口文档的详细描述
termsOfServiceUrl:一般用于存放公司的地址
version:API文档版本号
contact:维护人、维护人URL以及email
license:许可证
licenseUrl:许可证URL
@RestController
@Api(description= "边缘服务器接口")
public class ccController {
@Autowired
HostService hostServiceImpl;
/**
* 接收边缘服务器运行情况的所有数据
* @param hostVo
* @return
*/
@ApiOperation("接收服务器所有数据")
@PostMapping("/server")
public Boolean Insert(@ApiParam(value = "服务器接收的数据对象") @RequestBody @Valid HostVo hostVo) {
return hostServiceImpl.insetHost(hostVo);
}
/**
* 查询某台边缘服务器的运行数据
* @param hostName
* @return
*/
@ApiOperation("查询某台服务器所有数据")
@GetMapping("/server/{hostName}")
public HostVo query(@ApiParam("服务器名称") @PathVariable String hostName) {
return hostServiceImpl.queryHostByHostName(hostName);
}
}
解释:
@ApiModel 注解描述swagger(Controller)返回的实体 (在实体类中使用)
@ApiModelProperty 描述实体的属性(在实体类中使用)
@Api 作用到Controller上 用来说明此接口
value 定于当前接口的名称
description 用于定义当前接口文档的介绍
tag 可以使用多个名称来定义文档,如果tag和value同时存在,value失效
hidden 如果值为true,就会隐藏文档
ApiOperation 用在接口文档的方法上,主要用来注解接口
value 对api的简短描述
note api的有关细节描述
esponse 接口的返回值类型(不是返回实际响应,而实返回对象的实际结果)
hidden 如果为true,就会在文档中隐藏
ApiParam 用于接口方法的参数
name 参数的名称
value 参数值
required 为true 为必传
defaultValue 参数的默认值
type 参数类型
hidden true 隐藏
4. swagger访问地址
http://ip:port/swagger-ui.html#/
ip:IP地址
port:端口号