1、引入swagger需要的java類庫
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>com.fasterxml</groupId> <artifactId>classmate</artifactId> <version>1.3.1</version> </dependency>
2、引入SwaggerConfig.java類,並配置
package com.coracle.positec.xweb.swagger; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.async.DeferredResult; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import static com.google.common.base.Predicates.or; import static springfox.documentation.builders.PathSelectors.regex; /** * SwaggerConfig */ @Configuration @EnableSwagger2 public class SwaggerConfig { /** * 可以定義多個組,比如本類中定義把test和demo區分開了 (訪問頁面就可以看到效果了) * */ @Bean public Docket testApi() { return new Docket(DocumentationType.SWAGGER_2) .groupName("api_bsd") .genericModelSubstitutes(DeferredResult.class) .useDefaultResponseMessages(false) .forCodeGeneration(false) .pathMapping("/") .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.coracle.positec.xweb.controller")).build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("保時得項目RESTful API") .description("保時得項目中構建RESTful API") .termsOfServiceUrl("") .contact("huangbaidong") .version("1.0") .build(); } }
3、配置Controller接口注解
swagger類注釋
@Api(value = "訂單類",tags = "訂單類測試接口")
swagger接口注釋
@ApiOperation("訂單列表")
swagger參數注釋
@ApiParam("訂單ID")
4、配置實體注解
swagger實體類注釋
@ApiModel("訂單實體類")
swagger實體類中隱藏屬性
@ApiModelProperty(hidden = true)
swagger實體屬性備注
@ApiModelProperty("訂單編號")