WebAPI介面設計:SwaggerUI文件 / 統一響應格式 / 統一異常處理 / 統一許可權驗證
為什麼還要寫這類文章?因為我看過網上很多講解的都不夠全面,而本文結合實際工作講解了swaggerui文件,統一響應格式,異常處理,許可權驗證等常用模組,並提供一套完善的案例原始碼,在實際工作中可直接參考使用。
一、先看看最終效果
這是最後生成的swagerui文件,大家可以直接訪問這個地址體驗:
http://sapi.daimali.com/swagger/ui/index
(若無法訪問,請公眾號CodeL聯絡)
git原始碼地址:
https://gitee.com/daimali/WebApiDemo
我覺得大部分人閱讀到這裡就可以了,剩下的時間去看看原始碼,需要用的時候邊用邊學就好了
二、介面文件 - SwaggerUI注意點
-
swagger漢化,注意swagger_lang.js 屬性生成操作需要選擇"嵌入的資源"
-
專案右鍵-屬性-生成:輸出項勾選XML文件檔案
三、統一響應格式說明
通過 ApiResultFilterAttribute 類實現響應引數的統一封裝:
這裡封裝的響應格式為:
{
"code": 200,
"msg": "OK",
"data": null
}
四、自定義異常資訊
針對於所有的異常資訊,介面也會返回對應的code,msg,data的格式:
通過CustomException和CustomExceptionFilterAttribute實現
看原始碼
需要說的東西太多,直接看原始碼更方便:
介面預覽地址:
http://sapi.daimali.com/swagger/ui/index
(若無法訪問,請公眾號聯絡)
git原始碼地址:
https://gitee.com/daimali/WebApiDemo
相關資源獲取或其他疑問可在公眾號CodeL留言。