swagger 是一個規範和完整的架構,用于生成、描述、調用和可視化 restful 風格的 web 服務。總體目标是使用戶端和檔案系統作為伺服器以同樣的速度來更新。
使用 beego 開發自帶內建了 swagger的東西。
<a href="https://beego.me/docs/advantage/docs.md">https://beego.me/docs/advantage/docs.md</a>
github 位址:
<a href="https://github.com/beego/swagger">https://github.com/beego/swagger</a>
beego 使用最新的版本:1.8.0
建立一個項目:apiserver
會自動下載下傳最新的 swagger 壓縮檔案:
啟動成功,直接通路就可以了:
<a href="http://localhost:8080/swagger/#/user">http://localhost:8080/swagger/#/user</a>
非常花裡胡哨的界面了,紅的綠的黃的紫的。
配置檔案增加了
其中 commentsrouter_controllers.go 這個檔案會根據 controller 裡面的内容自動生成。
而在 router 裡面配置了 namespace。通用的配置了下版本的資訊。
可以在頁面當中直接送出測試資料的json
可以在頁面當中直接進行查詢。
和之前官方的文檔不太一樣。因為版本更新了。
研究了下注釋:
參數名
參數類型,可以有的值是 formdata、query、path、body、header,formdata 表示是 post請求的資料,query 表示帶在 url 之後的參數,path 表示請求路徑上得參數,例如上面例子裡面的 key,body 表示是一個
raw 資料請求,header 表示帶在 header 資訊中得參數。
參數類型
預設值
是否必須
注釋
生成的界面是:
可以發送參數請求了,并且可以将cookie帶入。
但是僞造cookie 就不行了。
可以考慮使用header當中存放 token 參數保持使用者登入。
然後在請求的是都放入進去,寫死一個token 保持使用者登入。
友善前端同學進行調試開發。
beego 已經支援 swagger,開發一個前後端項目分離的項目最友善了。
同時可以要求把cookie 種到cookie 當中,然後使用子域名,進行跨域通路。
在beego 中開啟跨域通路。
也可以存儲 token ,然後放到header頭中傳遞使用者登入。
同時為了友善測試,可以寫入幾個預設值寫死一直登入。
友善測試借口。
可以把這個swagger 當成一個 postman的集合,直接進行測試調試。
非常符合項目拆分開發。非常的友善。