日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

springboot整合swagger2之最佳实践

發布時間:2023/11/28 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot整合swagger2之最佳实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/

Swagger是一款RESTful接口的文檔在線自動生成、功能測試功能框架。

一個規范和完整的框架,用于生成、描述、調用和可視化RESTful風格的Web服務,加上swagger-ui,可以有很好的呈現。

SpringBoot集成

  • pom
<!--swagger -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.8.0</version>
</dependency>
  • 編寫配置文件(SwaggerConfig.java)
@EnableSwagger2
@Configuration
public class SwaggerConfig {//是否開啟swagger,正式環境一般是需要關閉的,可根據springboot的多環境配置進行設置@Value(value = "${swagger.enabled}")Boolean swaggerEnabled;@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())// 是否開啟.enable(swaggerEnabled).select()// 掃描的路徑包.apis(RequestHandlerSelectors.basePackage("cn.lqdev.learning.springboot.chapter10"))// 指定路徑處理PathSelectors.any()代表所有的路徑.paths(PathSelectors.any()).build().pathMapping("/");}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("SpringBoot-Swagger2集成和使用-demo示例").description("oKong | 趔趄的猿")// 作者信息.contact(new Contact("oKong", "https://blog.lqdev.cn/", "499452441@qq.com")).version("1.0.0").build();}
}

設置注解

  • controller

    • 類:@Api(value = "預訂業務邏輯接口", description = "預訂業務邏輯接口",tags="用戶API")
    • 方法:@ApiOperation(value = "保存預訂數據", response = 本類.class)
    • 路徑參數/{id}:@ApiImplicitParam(name="id",value="查詢ID",required=true)
    • 普通參數:@ApiParam(name = "id", value = "預訂食品信息id", required = true)
  • entity

    • 類名:@ApiModel(value = "記賬憑證詳情", description = "記賬憑證詳情")
    • 類屬性:@ApiModelProperty(name = "id", value = "記賬憑證詳情ID",dataType="String",example="1020332806740959233" )

訪問:http://127.0.0.1:8080/swagger-ui.html

Swagger常用屬性說明

作用范圍API使用位置
對象屬性@ApiModelProperty用在出入參數對象的字段上
協議集描述@Api用于controller類上
協議描述@ApiOperation用在controller的方法上
Response集@ApiResponses用在controller的方法上
Response@ApiResponse用在 @ApiResponses里邊
非對象參數集@ApiImplicitParams用在controller的方法上
非對象參數描述@ApiImplicitParam用在@ApiImplicitParams的方法里邊
描述返回對象的意義@ApiModel用在返回對象類上

常用的注解@Api@ApiOperation@ApiModel@ApiModelProperty示例中有進行標注,對于其他注解,大家可自動谷歌,畢竟常用的就這幾個了。

有了swagger之后,原本一些post請求需要postman這樣的調試工具來進行發起,而現在直接在頁面上就可以進行調試了,是不是很爽!

對于服務的調用者而已,有了這份api文檔也是一目了然,不需要和后端多少溝通成本,按著api說明進行前端開發即可。

總結

以上是生活随笔為你收集整理的springboot整合swagger2之最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。