首先看一下官方文件的使用說明。
使用者首先需要把需要路由的控制器註冊到自動路由中:
beego.autorouter(&controllers.objectcontroller{})
那麼 beego 就會通過反射獲取該結構體中所有的實現方法,你就可以通過如下的方式訪問到對應的方法中:
/object/login 呼叫 objectcontroller 中的 login 方法
/object/logout 呼叫 objectcontroller 中的 logout 方法
除了字首兩個 /:controller/:method 的匹配之外,剩下的 url beego 會幫你自動化解析為引數,儲存在 this.ctx.input.params 當中:
/object/blog/2013/09
/12 呼叫 objectcontroller 中的 blog 方法,引數如下:map
[0:2013
1:09
2:12]
方法名在內部是儲存了使用者設定的,例如 login,url 匹配的時候都會轉化為小寫,所以,/object/login 這樣的 url 也一樣可以路由到使用者定義的 login 方法中。
現在已經可以通過自動識別出來下面類似的所有 url,都會把請求分發到 controller 的 ****** 方法:
/controller/******
/controller/******.html
/controller/******.json
/controller/******.xml
可以通過 this.ctx.input.param(「:ext」) 獲取字尾名。
版本1.9.2中並不像官方文件中說明的那樣可以忽略大小進行方法匹配。
比如,方法為topublish,那麼在呼叫url的過程中傳入topublish並不能匹配到對應的方法。必須使用topublish才能匹配到topublish方法。
獲取引數方法,當通過rest風格進行傳遞引數時,引數儲存在this.ctx.input.params當中,獲取時需通過this.ctx.input.params()[「0」]這種格式才能獲取得到。
學習日誌 beego 正則路由,動態路由和路由跳轉
beego.router list id controllers.listcontroller get list 動態路由是通過在路由後面 然後跟隨引數名實現 可以實現url list 654 隨機數 都能呼叫到list方法 獲取引數的方法 c.ctx.input.param id 引數必須和配置路...
beego自動化文件
beego是乙個快速開發go應用的http框架,go 語言技術大牛asta謝的開源專案。beego可以用來快速開發api web以及後端服務等各種應用,是乙個restful的框架,主要設計靈感 於tornado sinatra flask這三個框架,結合了go本身的一些特性 inte ce stru...
beego自動化文件
beego是乙個快速開發go應用的http框架,go 語言技術大牛asta謝的開源專案。beego可以用來快速開發api web以及後端服務等各種應用,是乙個restful的框架,主要設計靈感 於tornado sinatra flask這三個框架,結合了go本身的一些特性 inte ce stru...