Swagger-UI能夠動態地根據註解生成在線API文檔。git
在pom.xml中新增Swagger-UI相關依賴:github
<!--Swagger-UI API文檔生產工具--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
添加Swagger-UI的Java配置文件:web
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; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * Swagger2API文檔的配置 */ @Configuration @EnableSwagger2 public class Swagger2Config { @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //爲當前包下controller生成API文檔 .apis(RequestHandlerSelectors.basePackage("com.xc.mall.controller")) //爲有@Api註解的Controller生成API文檔 // .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) //爲有@ApiOperation註解的方法生成API文檔 // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("SwaggerUI演示") .description("mall項目") .contact("xc") .version("1.0") .build(); } }
文章來源:https://macrozheng.github.io/mall-learning/#/architect/mall_arch_02spring