目錄
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...