天天看點

golang(5)使用beego 開發 api server 和前端同學拆分開發,使用swagger1,beego api2,非常的友善3,代碼裡面可亂了4,一個表單送出4,總結

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>

golang(5)使用beego 開發 api server 和前端同學拆分開發,使用swagger1,beego api2,非常的友善3,代碼裡面可亂了4,一個表單送出4,總結

非常花裡胡哨的界面了,紅的綠的黃的紫的。

配置檔案增加了

其中 commentsrouter_controllers.go 這個檔案會根據 controller 裡面的内容自動生成。

而在 router 裡面配置了 namespace。通用的配置了下版本的資訊。

golang(5)使用beego 開發 api server 和前端同學拆分開發,使用swagger1,beego api2,非常的友善3,代碼裡面可亂了4,一個表單送出4,總結

可以在頁面當中直接送出測試資料的json

golang(5)使用beego 開發 api server 和前端同學拆分開發,使用swagger1,beego api2,非常的友善3,代碼裡面可亂了4,一個表單送出4,總結

可以在頁面當中直接進行查詢。

和之前官方的文檔不太一樣。因為版本更新了。

研究了下注釋:

參數名

參數類型,可以有的值是 formdata、query、path、body、header,formdata 表示是 post請求的資料,query 表示帶在 url 之後的參數,path 表示請求路徑上得參數,例如上面例子裡面的 key,body 表示是一個

raw 資料請求,header 表示帶在 header 資訊中得參數。

參數類型

預設值

是否必須

注釋

生成的界面是:

golang(5)使用beego 開發 api server 和前端同學拆分開發,使用swagger1,beego api2,非常的友善3,代碼裡面可亂了4,一個表單送出4,總結

可以發送參數請求了,并且可以将cookie帶入。

但是僞造cookie 就不行了。

可以考慮使用header當中存放 token 參數保持使用者登入。

然後在請求的是都放入進去,寫死一個token 保持使用者登入。

友善前端同學進行調試開發。

beego 已經支援 swagger,開發一個前後端項目分離的項目最友善了。

同時可以要求把cookie 種到cookie 當中,然後使用子域名,進行跨域通路。

在beego 中開啟跨域通路。

也可以存儲 token ,然後放到header頭中傳遞使用者登入。

同時為了友善測試,可以寫入幾個預設值寫死一直登入。

友善測試借口。

可以把這個swagger 當成一個 postman的集合,直接進行測試調試。

非常符合項目拆分開發。非常的友善。