這篇文章帶給大家的內容是關於SpringBoot 整合 Swagger的方法介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
什麼是Swagger
依賴導入
<!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
加入配置
swagger: title: 项目 API description: SpringBoot 集成 Swagger 项目 API version: 1.0 terms-of-service-url: http://www.baidu.com/ base-package: cn.anothertale.springbootshiro # 这一项指定需要生成 API 的包,一般就是 Controller contact: name: taohan url: http://www.baidu.ccom/ email: 1289747698@qq.com
建立Swagger Config
package cn.anothertale.springbootshiro.config.swagger; import lombok.Getter; import lombok.Setter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.ConfigurationProperties; 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.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * description: swagger 配置中心 * * @author: taohan * @date: 2019年03月20日 * @time: 16:52 */ @Getter @Setter @Configuration @EnableSwagger2 @ConditionalOnClass(EnableSwagger2.class) @ConfigurationProperties(prefix = "swagger") public class SwaggerConfig { /** * API 接口包路径 */ private String basePackage; /** * API 页面标题 */ private String title; /** * API 描述 */ private String description; /** * 服务条款地址 */ private String termsOfServiceUrl; /** * 版本号 */ private String version; /** * 联系人 */ private Contact contact; @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage(basePackage)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title(title) .description(description) .termsOfServiceUrl(termsOfServiceUrl) .version(version) .contact(contact) .build(); } }
#透過註解標示API
Swagger 預設根據配置的包,掃描所有介面並產生對應的API 描述和參數資訊。
常用註解及對應屬性如下:
@Api (描述一個API 類,標註在Controller 上)
##position :如果配置多個API 想要改變展示位置,可透過該屬性設定
code:HTTP 狀態碼,預設200
value:
ApiImplicitParam 數組,見下一註解################### #####@ApiImplicitParam###(描述一個請求參數)#############name:###參數名稱#########value:###參數值#########defaultValue:###參數預設值#########required:###是否必須,預設false#########access:## #不過多描述#########example:###範例########################@ApiResponses### (描述一組回應)############value:###ApiResponse數組,見下一註解###################### ##@ApiResponse### (描述一個回應)############code:###HTTP 的狀態碼########message:###描述訊息# ##############最後,可以在瀏覽器中輸入http://localhost:8080/swagger-ui.html 即可存取! ######### ###以上是SpringBoot 整合 Swagger的方法介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!