Swagger - 線上視覺化的API文件服務 === [官方文件](https://swagger.io/) 簡介 - 線上版API文件 - 效益 讓前後端便於開發? - 工具 * Swagger UI * 供前端,測試人員 操作模擬 * 視覺化介面,可透過介面~~模擬~~API發送 * 可切換本機內的 swagger文件 * Swagger Editor * 後端撰寫API文件用 * 所見即所得的swagger 線上編輯器 * 使用 json yaml 格式 * Swagger Hub * Level Up 的 swagger 服務 * 要錢? 閱讀文件 - - Swagger 是什麼 * [Swagger ,讓大家的 API 與世界接軌](https://netivism.com.tw/blog/436) * [增加 Swagger 來提供線上版 API 規格說明](https://ithelp.ithome.com.tw/articles/10191287) - Swagger 是什麼 * [Swagger從入門到精通](https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/614070/#outline__1_7) - Swagger API格式定義 * [如何編寫基於OpenAPI規範的API文檔](https://huangwenchao.gitbooks.io/swagger/content/) - Swagger 基礎 * [Swagger Editor与Swagger-UI神器使用](https://yq.aliyun.com/articles/325967) - Swagger 進階 * [如何撰寫立即可交付的組件化 Swagger 文件](https://medium.com/@leochien/%E5%A6%82%E4%BD%95%E6%92%B0%E5%AF%AB%E7%AB%8B%E5%8D%B3%E5%8F%AF%E4%BA%A4%E4%BB%98%E7%9A%84%E7%B5%84%E4%BB%B6%E5%8C%96-swagger-%E6%96%87%E4%BB%B6-a95742da46b8) - Swagger 經驗分享 * [基於VueJs的前後端分離框架搭建之完全攻略](https://hk.saowen.com/a/fe52c980b82b5dfd405b76ebb3fd97a8935d362dcbee0fdf1d69b61e8b07a312) 公司swagger伺服器 - 依據 swagger 官方提供的git 專案來架設供內部開發使用 - swagger git 專案網址 * [SwaggerUI](https://github.com/swagger-api/swagger-ui) * [Swagger Editor](https://github.com/swagger-api/swagger-editor) - 公司swagger網址 * [SwaggerUI](http://api.cyadmk.com:8081/) * [Swagger Editor](http://api.cyadmk.com:8080/) l5-swagger 套件 - laravel 的 swagger套件 ,可直接在程式碼中套用套件中規定的swagger 文件寫法,以註解形式存在於程式碼中,可產生 swagger UI 介面以及 swagger文件的json檔頁面 swagger 服務 與 l5-swagger 優劣比較 - - swagger - 優: 1.獨立的環境 2.文件寫法較簡單 3.較好上手 - 缺: 1.線上編輯器 沒有儲存的功能 2.沒有編輯紀錄 - l5-swagger - 優: 1.寫程式時可以不用另開視窗編輯 2.不用額外架設伺服器 3.可加入git版控 - 缺: 1.程式片段過於冗長 2.在開發階段易受影響 issue - 1.詢問MIS是採用何種方式架設swagger伺服器 2.需要 swagger UI 伺服器的權限 需要放置寫好的swagger文件 3.swagger UI 模擬request機制,是真的有發送請求還是直接運用swagger 文件來產生結果 4.[Swagger authentication](https://swagger.io/docs/specification/authentication/)-機制研究 - 單純文件標示 或 呼叫API必須驗證 5.與前端搭配 使用 Mock server - [如何減少系統間的依賴 — Mock Server](https://www.qa-knowhow.com/?p=5155)