Swagger常用註解

2022-01-10 07:05:55 字數 4270 閱讀 4671

目錄

swagger是乙個開放源**軟體框架,由大型工具生態系統支援,可幫助開發人員設計,構建,記錄和使用restful web服務。儘管大多數使用者通過swagger ui工具識別swagger,但是swagger工具集包括對自動文件,**生成和測試用例生成的支援。

@api 註解用於標註乙個controller(class)。在預設情況下,swagger-core只會掃瞄解析具有@api註解的類,而會自動忽略其他類別資源(jax-rs endpoints,servlets等等)的註解。

主要屬性如下:

屬性描述

value

url的路徑值

br#description

對api資源的描述

basepath

基本路徑可以不配置

position

如果配置多個api 想改變顯示的順序位置

高階特性認證時配置

hidden

配置為true 將在文件中隱藏

例項:

@controller

@api(value = "/pet", description = "operations about pets")

public class petcontroller

@apioperation 註解在用於對乙個操作或http方法進行描述。具有相同路徑的不同操作會被歸組為同乙個操作物件。不同的http請求方法及路徑組合構成乙個唯一操作。

主要屬性:

屬性描述

value

url的路徑值

br#description

對api資源的描述

basepath

基本路徑可以不配置

position

如果配置多個api 想改變顯示的順序位置

高階特性認證時配置

hidden

配置為true 將在文件中隱藏

response

返回的物件

responsecontainer

這些物件是有效的 "list", "set" or "map".,其他無效

http的狀態碼 預設 200

extensions

擴充套件屬性

例項: @apioperation(

value = "find purchase order by id",

notes = "for valid response try integer ids with value <= 5 or > 10. other values will generated exceptions",

response = order.class,

tags = )

public responseentitygetorderbyid(@pathvariable("orderid") string orderid)

throws notfoundexception else

}@apiparam作用於請求方法上,定義api引數的註解。

主要屬性:

屬性描述

name

屬性名稱

value

屬性值defaultvalue

預設屬性值

allowablevalues

可以不配置

required

是否屬性必填

access

不過多描述

allowmultiple

預設為false

hidden

隱藏該屬性

example

舉例子例項:

public responseentitygetorderbyid(

@apiparam(value = "id of pet that needs to be fetched", allowablevalues = "range[1,5]", required = true)

@pathvariable("orderid") string orderid)

@apiimplicitparams、@apiimplicitparam也可以定義引數.

主要屬性:

屬性描述

name

引數名value

引數的說明、描述

required

引數是否必須必填

paramtype

引數放在哪個地方

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

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

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

body(請求體)--> @requestbody user user

form(普通表單提交)

datatype

引數型別,預設string,其它值datatype="integer"

defaultvalue

引數的預設值

例項:

@apiimplicitparams()

public jsonresult login(@requestparam string mobile, @requestparam string password,

@requestparam integer age)

@apiresponses、@apiresponse進行方法返回物件的說明。

主要屬性:

屬性描述

code

數字,例如400

message

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

response

丟擲異常的類

例項:

@apiresponses() 

@responsebody

public jsonresult list(@requestparam string userid)

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

@apimodelproperty用來描述乙個model的屬性。

例項:

@apimodel(description= "返回響應資料")

public class restmessage implements serializable

@pathvariable用於獲取get請求url路徑上的引數,即引數繫結的作用,通俗的說是url中"?"前面繫結的引數。

例項: private listquerybyid( @apiparam(name = "id", value = "學生id", required = true) @pathvariable("id") long id)

@requestparam用於獲取前端傳過來的引數,可以是get、post請求,通俗的說是url中"?"後面拼接的每個引數。

例項: private listquerybyidstu( @apiparam(name = "byid", value = "學生id", required = false) @requestparam("id") long id)

參考:

:維基百科:swagger

:不訉biu:swagger常用註解

:ido:swagger常用註解說明

:楊梅泡酒:swagger annotation 詳解(建議收藏)

:xiaojin21cen :swagger2 註解說明

:swagger-core wiki:swagger 2.x annotations

swagger常用註解

一 swagger常用註解 1 與模型相關的註解 兩個註解 2 與介面相關的註解 六個註解 二 幾個注意點 為了在swagger ui上看到輸出,至少需要兩個註解 api和 apioperation 即使只有乙個 apiresponse,也需要使用 apiresponses包住 對於 apiimpl...

swagger常用註解

一 swagger常用註解 1 與模型相關的註解 兩個註解 2 與介面相關的註解 六個註解 二 幾個注意點 為了在swagger ui上看到輸出,至少需要兩個註解 api和 apioperation 即使只有乙個 apiresponse,也需要使用 apiresponses包住 對於 apiimpl...

swagger常用註解

swagger2常用註解說明 2017年08月01日 14 00 38 說明 1.這裡使用的版本 springfox swagger2 2.4 springfox swagger ui 2.4 2.這裡是說明常用註解的含義和基本用法 也就是說已經對swagger進行整合完成 沒有整合的請參見 spr...