POM
<!-- Swagger2 Begin --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.0</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.0</version></dependency><!-- Swagger2 End -->
配置文件
package com.limlut.itoken.service.posts.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;@Configurationpublic class Swagger2Config { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.limlut.itoken.service.posts.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("iToken API 文档") .description("iToken API 网关接口,http://www.hzlim.cn") .termsOfServiceUrl("http://www.hzlim.cn") .version("1.0.0") .build(); }}
启动类添加注解
@EnableSwagger2
使用
@ApiOperation(value = "分页查询") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页码", required = true, dataType = "int", paramType = "path"), @ApiImplicitParam(name = "pageSize", value = "笔数", required = true, dataType = "int", paramType = "path"), @ApiImplicitParam(name = "tbPostsPostJson", value = "对象 JSON 字符串", required = false, dataTypeClass = String.class, paramType = "json") })
@Api:修饰整个类,描述 Controller 的作用@ApiOperation:描述一个类的一个方法,或者说一个接口@ApiParam:单个参数描述@ApiModel:用对象来接收参数@ApiProperty:用对象接收参数时,描述对象的一个字段@ApiResponse:HTTP 响应其中 1 个描述@ApiResponses:HTTP 响应整体描述@ApiIgnore:使用该注解忽略这个API@ApiError:发生错误返回的信息@ApiImplicitParam:一个请求参数@ApiImplicitParams:多个请求参数