Swagger集成

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>

 

2.config包中添加一个配置类

@Configuration

@EnableSwagger2
public class SwaggerConfiguration {

@Bean
public Docket buildDocket() {
HashSet<String> strings = new HashSet<>();
strings.add("application/json");

return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(buildApiInfo())
//设置返回值数据类型为json
.produces(strings)
.select()
// 要扫描的API(Controller)基础包
.apis(RequestHandlerSelectors.basePackage("com.chen"))
.paths(PathSelectors.any())
.build();
}

private ApiInfo buildApiInfo() {
Contact contact = new Contact("chen的接口文档","","");
return new ApiInfoBuilder()
.title("chen的接口文档-API文档")
.description("平台管理服务api")
.contact(contact)
.version("1.0.0").build();
}
}

 

3.Swagger常用注解

@Api:修饰整个类,描述Controller的作用

@ApiOperation:修饰类的一个方法 标识 操作信息 接口的定义

@ApiParam:单个参数的描述信息

@ApiModel:描述使用到的对象信息

@ApiModelProperty:描述使用到的对象的属性信息

@ApiResponse:HTTP响应其中1个描述

@ApiResponses:HTTP响应整体描述

@ApiIgnore:使用该注解忽略这个API

@ApiError :发生错误返回的信息

@ApiImplicitParam:一个请求参数

@ApiImplicitParams:多个请求参数的描述信息

@ApiImplicitParam属性:

属性取值作用
paramType   查询参数类型
  path 以地址的形式提交数据
  query 直接跟参数完成自动映射赋值
  body 以流的形式提交 仅支持POST
  header 参数在request headers 里边提交
  form 以form表单的形式提交 仅支持POST
dataType   参数的数据类型 只作为标志说明,并没有实际验证
  Long  
  String  
name   接收参数名
value   接收参数的意义描述
required   参数是否必填
  true 必填
  false 非必填
defaultValue   默认值

 

例:

Controller层类注解:@Api(value = "管理", tags = "channel", description = "管理")

pojo对象描述:@ApiModel(description = "对象")

 

4.访问地址:localhost:端口号/swagger-ui.html

posted @ 2021-11-24 20:08  布丁cc  阅读(248)  评论(0)    收藏  举报