golang(5)使用beego 開發 api server 和前端同學拆分開發,使用swagger

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

1,beego api

Swagger 是一個規範和完整的架構,用於產生、描述、調用和可視化 RESTful 風格的 Web 服務。總體目標是使用戶端和檔案系統作為伺服器以同樣的速度來更新。
項目地址是:http://swagger.io/
使用 beego 開發內建整合了 swagger的東西。
https://beego.me/docs/advantage/docs.md
github 地址:
https://github.com/beego/swagger
beego 使用最新的版本:1.8.0

2,非常的方便

建立一個項目:apiserver

bee api apiservercd apiserver/bee run -gendoc=true -downdoc=true

會自動下載最新的 swagger 壓縮檔:

2017/04/06 20:52:08 INFO      0001 Using 'apiserver' as 'appname'2017/04/06 20:52:08 INFO      0002 Loading default configuration...2017/04/06 20:52:08 INFO      0003 Downloading 'https://github.com/beego/swagger/archive/v2.zip' to 'swagger.zip'...2017/04/06 20:52:21 SUCCESS   0004 800610 bytes downloaded!

啟動成功,直接存取就可以了:
http://localhost:8080/swagger/#/user

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

3,代碼裡面可亂了

設定檔增加了

EnableDocs = true

其中 commentsRouter_controllers.go 這個檔案會根據 controller 裡面的內容自動產生。
而在 router 裡面配置了 NameSpace。通用的配置了下版本的資訊。

可以在頁面當中直接提交測試資料的json

可以在頁面當中直接進行查詢。
和之前官方的文檔不太一樣。因為版本升級了。

4,一個表單提交

研究了下注釋:

// @Description 建立使用者// @Param   Username    formData    string  "zhangsan"  true    "使用者名稱"// @Param   Password    formData    string  "123456"    true    "密碼"// @Success 200     {int}       models.User.Id models.User.Username models.User// @Failure 403     body is empty// @router /addUser [post]func (u *UserController) Post() {
  1. 參數名
  2. 參數類型,可以有的值是 formData、query、path、body、header,formData 表示是 post請求的資料,query 表示帶在 url 之後的參數,path 表示請求路徑上得參數,例如上面例子裡面的 key,body 表示是一個
    raw 資料請求,header 表示帶在 header 資訊中得參數。
  3. 參數類型
  4. 預設值
  5. 是否必須
  6. 注釋

產生的介面是:

可以發送參數請求了,並且可以將cookie帶入。
但是偽造cookie 就不行了。
可以考慮使用header當中存放 Token 參數保持使用者登入。
然後在請求的是都放入進去,寫死一個Token 保持使用者登入。
方便前端同學進行調試開發。

4,總結

本文的原文串連是: http://blog.csdn.net/freewebsys/article/details/69486943 未經博主允許不得轉載。
博主地址是:http://blog.csdn.net/freewebsys

beego 已經支援 swagger,開發一個前後端項目分離的項目最方便了。
同時可以要求把cookie 種到cookie 當中,然後使用子網域名稱,進行跨域訪問。
在beego 中開啟跨域訪問。
也可以儲存 Token ,然後放到header頭中傳遞使用者登入。
同時為了方便測試,可以寫入幾個預設值寫死一直登入。
方便測試借口。
可以把這個swagger 當成一個 PostMan的集合,直接進行測試調試。
非常符合項目拆分開發。非常的方便。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.