亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用@ApiModel遇到的問題如何解決

發布時間:2022-06-14 13:35:21 來源:億速云 閱讀:204 作者:iii 欄目:開發技術

這篇文章主要介紹了使用@ApiModel遇到的問題如何解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇使用@ApiModel遇到的問題如何解決文章都會有所收獲,下面我們一起來看看吧。

@ApiModel遇到的問題

使用 swagger2 中的 @ApiModel 注解不規范遇到的 swagger 文檔 錯亂問題:

1. 習慣

以前使用 swagger2 時, 在出入參實體上添加注解 @ApiModel 時習慣性的添加 value = "XXX" 屬性, 舊版本中一直沒有發現有什么問題.

2. 遇坑

最近在使用 swagger2:2.9.2 版本時, 遇到一個問題, swagger 文檔中的 入參 結構示例中的入參參數跟代碼的入參對象中的字段不匹配不一致, 導致接口聯調問題多

3. 排查

經過排查發現是因為 @ApiModel 直接使用不規范導致的。

  • 錯誤用法:@ApiModel(value = "用戶信息")

  • 正確用法:@ApiModel(description = "用戶信息")

經過排查發現, swagger2 是需要 value 屬性在同一個服務全局中保持唯一的, swagger 會把所有的 API 中的出入參實體列在 swagger 文檔的最下方, 如果存在多個實體的 @ApiModel(value = "用戶信息") 注解相同, 那么 swagger 只會識別一個, 其他的 實體 會被覆蓋, 不會被顯示, 其他被覆蓋的 實體在 API 被引用的地方在文檔中會被識別的相同名稱的實體 替代, 導致文檔展示錯亂問題

4. 解決

使用正確的用法:

@ApiModel(description = "用戶信息"), 如果我們能在代碼規范中保證實體名稱不會重復, value 使用默認就好, 所以不再配置, 實體說明使用 description 來進行配置.

@ApiModel和@ApiModelProperty

版本

  • springfox-swagger2 (version = 2.9.2)

  • swagger-bootstrap-ui (version = 1.9.6)

  • swagger-models (version =1.6.1)

@ApiModel

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

屬性名稱數據類型默認值說明
valueString類名為模型提供備用名稱
descriptionString"提供詳細的類描述
parentClass<?>Void.class為模型提供父類以允許描述繼承關系
discriminatorString"支持模型繼承和多態,使用鑒別器的字段的名稱,可以斷言需要使用哪個子類型
subTypesClass<?>[]{}從此模型繼承的子類型數組
referenceString&lsquo;&rsquo;指定對應類型定義和引用,覆蓋指定的任何其它元數據

@ApiModelProperty

  • 使用場景:使用在被 @ApiModel 注解的模型類的屬性上

屬性名稱數據類型默認值說明
valueString"屬性簡要說明
nameString"運行覆蓋屬性的名稱,重寫屬性名稱
allowableValuesString"限制參數可接受的值
accessString"過濾屬性
notesString"尚未使用
dataTypeString"參數的數據類型
requiredbooleanfalse是否必傳
positionint0允許在模型中排序屬性
hiddenbooleanfalse隱藏模型屬性
exampleString"屬性的示例值
readOnlybooleanfalse指定模型屬性為只讀,false:非只讀
referenceString"指定對應類型定義的引用,覆蓋指定的任何其他元數據
allowEmptyValuebooleanfalse允許傳空置,false:不允許傳空值

關于“使用@ApiModel遇到的問題如何解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“使用@ApiModel遇到的問題如何解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

牙克石市| 尼玛县| 汾阳市| 建德市| 夏津县| 车致| 南澳县| 宁晋县| 沅江市| 文化| 上高县| 左贡县| 景泰县| 芜湖市| 犍为县| 万山特区| 高尔夫| 呼伦贝尔市| 郸城县| 偃师市| 华安县| 古交市| 彰化市| 察雅县| 万载县| 康保县| 渝中区| 民县| 阳曲县| 广水市| 佛学| 赤壁市| 扎兰屯市| 玛多县| 吉水县| 嘉义县| 遂昌县| 秦安县| 张北县| 青浦区| 洛阳市|