SpringBoot開發案例之整合Swagger篇

2021-09-23 06:25:32 字數 2619 閱讀 2109

前段時間整合過的乙個支付服務,由於使用了spring boot快速開發,但是又懶得寫詳細的文件介紹,便順手就把swagger整合進來了,對支付服務進行分組api展示,如上圖。

swagger 是乙個規範和完整的框架,用於生成、描述、呼叫和視覺化 restful 風格的 web 服務。總體目標是使客戶端和檔案系統作為伺服器以同樣的速度來更新 。介面的方法,引數和模型緊密整合到伺服器端的**,允許api來始終保持同步。swagger 讓部署管理和使用功能強大的api從未如此簡單。

在實際開發過程中,我們的restful api就有可能要面對多個開發人員或多個開發團隊:ios開發、android開發、web開發等。為了減少與其他團隊平時開發期間的頻繁溝通成本,傳統做法我們會建立乙份restful api文件來記錄所有介面細節,然而這樣的做法有以下幾個問題:

而swagger完美的解決了上面的幾個問題,並與spring boot程式配合組織出強大restful api文件。它既可以減少我們建立文件的工作量,同時說明內容又整合入實現**中,讓維護文件和修改**集成為一體,可以讓我們在修改**邏輯的同時方便的修改文件說明。另外swagger2也提供了強大的頁面測試功能 來除錯每個restful api。

io.springfox

springfox-swagger2

2.7.0

io.springfox

springfox-swagger-ui

2.7.0

@configuration //讓spring來載入該類配置

@enableswagger2 //啟用swagger2

public class swagger2

@bean

public docket weixinpayapi()

@bean

public docket unionpayapi()

private apiinfo apiinfo()

}

api說明:

/**

swagger2使用說明:

@api:用在類上,說明該類的作用

@apioperation:用在方法上,說明方法的作用

@apiignore:使用該註解忽略這個api

@apiimplicitparams:用在方法上包含一組引數說明

@apiimplicitparam:用在@apiimplicitparams註解中,指定乙個請求引數的各個方面

paramtype:引數放在哪個地方

header-->請求引數的獲取:@requestheader

query-->請求引數的獲取:@requestparam

path(用於restful介面)-->請求引數的獲取:@pathvariable

body(不常用)

form(不常用)

name:引數名

datatype:引數型別

required:引數是否必須傳

value:引數的意思

defaultvalue:引數的預設值

@apiresponses:用於表示一組響應

@apiresponse:用在@apiresponses中,一般用於表達乙個錯誤的響應資訊

code:數字,例如400

message:資訊,例如"請求引數沒填好"

response:丟擲異常的類

@apimodel:描述乙個model的資訊(這種一般用在post建立的時候,使用@requestbody這樣的場景,請求引數無法使用@apiimplicitparam註解進行描述的時候)

@apimodelproperty:描述乙個model的屬性

*/

**實現:

/**

* 銀聯支付

* 建立者 科幫網

* 建立時間 2023年8月2日

*/@api(tags ="銀聯支付")

@controller

public class unionpaycontroller

@apioperation(value="電腦支付")

@apiimplicitparam(name = "product", value = "產品資訊", required = true, datatype = "product")

public string pcpay(product product,modelmap map)

@apiignore//使用該註解忽略這個api

@apioperation(value="手機h5支付")

public string mobilepay(product product,modelmap map)

}

配置完成後,我們重啟服務,訪問位址 http://localhost:8080/專案名/swagger-ui.html,如:

http://localhost:8080/springboot_pay/swagger-ui.html
完整專案案例可檢視 支付服務。

出處:

SpringBoot開發案例之整合Swagger篇

前段時間整合過的乙個支付服務,由於使用了spring boot快速開發,但是又懶得寫詳細的文件介紹,便順手就把swagger整合進來了,對支付服務進行分組api展示,如上圖。我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要...

SpringBoot開發案例Nacos配置管理中心

在開發過程中,通常我們會配置一些引數來實現某些功能,比如是否開啟某項服務,告警郵件配置等等。一般會通過硬編碼 配置檔案或者資料庫的形式實現。那麼問題來了,如何更加優雅的實現?歡迎來到 nacos 的世界!nacos 是阿里巴巴的開源的專案,全稱 naming configuration servic...

Hive UDF開發案例

bin hive中操作 臨時函式的使用 add jar home hadoop lib train 1.0 snapshot.jar 將上傳的jar包匯入到classpath變數裡 list jars 檢視匯入的jar包 create temporary function say hello as ...