goland_beego框架學習--api實現

goland_beego框架學習--api實現api

完成一項api實現的流程mvc

  (1)beego框架的router層裏面註冊路由框架

  

  正則路由

    爲了用戶更加方便的路由設置,beego 參考了 sinatra 的路由實現,支持多種方式的路由:函數

    •   beego.Router(「/api/?:id」, &controllers.RController{})post

      默認匹配 //例如對於URL」/api/123」能夠匹配成功,此時變量」:id」值爲」123」學習

    •   beego.Router(「/api/:id」, &controllers.RController{})this

      默認匹配 //例如對於URL」/api/123」能夠匹配成功,此時變量」:id」值爲」123」,但URL」/api/「匹配失敗spa

    •   beego.Router(「/api/:id([0-9]+)「, &controllers.RController{})code

      自定義正則匹配 //例如對於URL」/api/123」能夠匹配成功,此時變量」:id」值爲」123」router

    •   beego.Router(「/user/:username([\\w]+)「, &controllers.RController{})

      正則字符串匹配 //例如對於URL」/user/astaxie」能夠匹配成功,此時變量」:username」值爲」astaxie」  

    

    能夠在 Controller 中經過以下方式獲取上面的變量:

    this.Ctx.Input.Param(":id")     this.Ctx.Input.Param(":username")     this.Ctx.Input.Param(":splat")     this.Ctx.Input.Param(":path")     this.Ctx.Input.Param(":ext")
  

    還有不少提供自定義路由的方法,這裏僅僅提供這兩種基本的,已經能夠知足使用,還想知道詳細的部分,能夠去查閱beego的官方文檔:https://beego.me/docs/mvc/controller/router.md

(2)controller裏面實現自定義的controller

    a)組合beego的Controller

      

    b)實現符合http協議的函數

      

 

      這兩個函數的返回值Get()函數是返回一個index.tpl代碼

      而post是返回變量user_name的值,this.Ctx.Input.Param()函數提取值

      而this.Ctx.Output.Body([]byte())函數在網頁上直接輸出

 

這樣就完成了api的實現

相關文章
相關標籤/搜索