您好,登錄后才能下訂單哦!
本篇文章為大家展示了springboot 中配置使用swagger2的方法,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1. maven依賴包
使用目前最新版本為例,pom.xml添加的代碼如下
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency>
2. 配置類的編寫
配置類的編寫同樣非常簡單,可以直接復制粘貼以下代碼,但是一定要注意做適當修改,尤其是設置basePackage的路徑,一定要根據實際情況修改。
新建一個config文件夾,在此文件夾中新建一個類
package cn.smileyan.swagger.config; import org.springframework.beans.factory.annotation.Configurable; import org.springframework.context.annotation.Bean; 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; @EnableSwagger2 @Configurable public class Swagger2 { /** * 特別要注意.apis(RequestHandlerSelectors.basePackage("cn.smileyan.swagger.controller")) * 此中的cn.smileyan.swagger.controller一定要修改為自己controller包。 * @return */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("cn.smileyan.swagger.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder().title("springboot使用swagger例子") .description("簡單優雅的restful風格") .termsOfServiceUrl("https://smileyan.cn") .version("1.0") .build(); } }
不能忘記類前面的@EnableSwagger2 與 @Configurable配置注解。以及后面的@Bean注解。
3. @EnableSwagger2 不能忘了
除了這個位置需要添加這個注解,還有springboot的運行類(application類)也要添加這個注釋,否則會出現錯誤。
如圖所示,我的application類名為SwaggerApplication,在這個類上面添加@EnableSwagger2
package cn.smileyan.swagger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import springfox.documentation.swagger2.annotations.EnableSwagger2; @SpringBootApplication @EnableSwagger2 public class SwaggerApplication { public static void main(String[] args) { SpringApplication.run(SwaggerApplication.class, args); } }
4. 編寫controller類,添加注解,注意這個controller路徑與上面配置類的路徑要保持一致。
package cn.smileyan.swagger.controller; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController @RequestMapping("/user") public class UserController { @ApiOperation(value = "用戶測試",notes = "貴賓用戶") @RequestMapping(value = "",method = RequestMethod.GET) private Map<String,String> getUser() { Map<String,String> map = new HashMap<>(1); map.put("result","success"); return map; } }
5. 運行,打開api文檔http://localhost:8080/swagger-ui.html
效果如下:
可以點開user-controller,效果如下:
常用注解
@Api : 修飾整個類,用于描述Controller類
@ApiOperation:描述類的方法,或者說一個接口
@ApiParam:單個參數描述
@ApiModel:用對象來接收參數
@ApiProperty:用對象接收參數時,描述對象的一個字段
@ApiResponse:HTTP響應的一個描述
@ApiResponses:HTTP響應的整體描述
@ApiIgnore:使用該注解,表示Swagger2忽略這個API
@ApiError:發生錯誤返回的信息
@ApiParamImplicit:一個請求參數
@ApiParamsImplicit:多個請求參數
上述內容就是springboot 中配置使用swagger2的方法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。