Swagger注釋API詳細說明

2021-10-08 05:09:19 字數 4808 閱讀 9503

swagger常用到的註解有:

1. @api

api 用在類上,說明該類的作用。可以標記乙個controller類做為swagger 文件資源,使用方式:

@api

(value =

"/user"

, description =

"operations about user"

)

與controller註解並列使用。 屬性配置:

屬性名稱

備註value

url的路徑值

br#description

對api資源的描述

basepath

基本路徑可以不配置

position

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

高階特性認證時配置

hidden

配置為true 將在文件中隱藏

2. @apimodel

使用場景:在實體類上邊使用,標記類時swagger的解析類。

概述:提供有關swagger模型的其它資訊,類將在操作中用作型別時自動內省。

用法:屬性名稱

資料型別

預設值說明

value

string

類名為模型提供備用名稱

description

string

「」提供詳細類描述

parent

class<?> parent

void.class

為模型提供父類以允許描述繼承關係

discriminatory

string

「」支援模型繼承和多型,使用鑑別器的字段的名稱,可以斷言需要使用哪個子型別

subtypes

class<?>

{}從此模型繼承的子型別陣列

reference

string

」「指定對應型別定義的引用,覆蓋指定的任何其他元資料

3. @apimodelproperty

使用場景:使用在被 @apimodel 註解的模型類的屬性上。表示對model屬性的說明或者資料操作更改 。

概述:新增和操作模型屬性的資料。

用法:屬性名稱

資料型別

預設值說明

value

string

」「屬性簡要說明

name

string

「」執行覆蓋屬性的名稱,重新屬性名稱

allowablevalues

string

「」限制引數可接受的值,三種方法,固定取值,固定範圍

access

string

「」過濾屬性,參閱: io.swagger.core.filter.swaggerspecfilter

notes

string

「」目前尚未使用

datatype

string

「」引數的資料型別,可以是類名或原始資料型別,此值將覆蓋從類屬性讀取的資料型別

required

boolean

false

是否為必傳引數,false:非必傳引數 true:必傳引數

position

int0

允許在模型中顯示排序屬性

hidden

boolean

false

隱藏模型屬性,false:不隱藏 true:隱藏

example

string

「」屬性的示例值

readonly

boolean

false

指定模型屬性為唯讀,false:非唯讀 true:唯讀

reference

string

「」指定對應型別定義的引用,覆蓋指定的任何其他元資料

allowemptyvalue

boolean

false

允許傳空值,false:不允許傳空值 true:允許傳空值

4. @apioperation標記

apioperation:用在方法上,說明方法的作用,每乙個url資源的定義,使用方式:

@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,

tags =

)

與controller中的方法並列使用。

屬性配置:

屬性名稱

備註value

url的路徑值

br#description

對api資源的描述

basepath

基本路徑可以不配置

position

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

高階特性認證時配置

hidden

配置為true 將在文件中隱藏

response

返回的物件

responsecontainer

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

http的狀態碼 預設 200

extensions

擴充套件屬性

5. @apiparam標記

apiparam請求屬性,使用方式:

public responseentity

createuser

(@requestbody

@apiparam

(value =

"created user object"

, required =

true

) user user)

與controller中的方法並列使用。

屬性配置:

屬性名稱

備註name

屬性名稱

value

屬性值defaultvalue

預設屬性值

allowablevalues

可以不配置

required

是否屬性必填

access

不過多描述

allowmultiple

預設為false

hidden

隱藏該屬性

example

舉例子6. @apiresponse

apiresponse:響應配置,使用方式:

@apiresponse

(code =

400, message =

"invalid user supplied"

)

與controller中的方法並列使用。 屬性配置:

屬性名稱

備註code

http的狀態碼

message

描述response

預設響應類 void

reference

參考apioperation中配置

responseheaders

參考 responseheader 屬性配置說明

responsecontainer

參考apioperation中配置

7. @apiresponses

apiresponses:響應集配置,使用方式:

@apiresponses

()

與controller中的方法並列使用。 屬性配置:

屬性名稱

備註value

多個apiresponse配置

8. @responseheader

響應頭設定,使用方法

@responseheader

(name=

"head1"

,description=

"response head conf"

)

與controller中的方法並列使用。 屬性配置:

屬性名稱

備註name

響應頭名稱

description

頭描述response

預設響應類 void

responsecontainer

參考apioperation中配置

9. @其他

swagger注釋API詳細說明

注釋彙總 作用範圍 api使用位置 物件屬性 apimodelproperty 用在出入引數物件的字段上 協議集描述 api 用於controller類上 協議描述 apioperation 用在controller的方法上 response集 apiresponses 用在controller的方...

swagger注釋API詳細說明

注釋彙總 作用範圍 api使用位置 物件屬性 apimodelproperty 用在出入引數物件的字段上 協議集描述 api 用於controller類上 協議描述 apioperation 用在controller的方法上 response集 apiresponses 用在controller的方...

swagger注釋API詳細說明

注釋彙總 作用範圍 api使用位置 物件屬性 apimodelproperty 用在出入引數物件的字段上 協議集描述 api 用於controller類上 協議描述 apioperation 用在controller的方法上 response集 apiresponses 用在controller的方...