beego.Router是RESTful Controller 路由
//见官网:https://beego.me/docs/mvc/controller/router.md
namespace路由
自动化路由才有了namespace来进行设计,
而且注意两点,第一目前只支持namespace的路由支持自动化文档,
第二只支持NSNamespace和NSInclude解析,而且是只能两个层级
eg.
func init() {
//使用beego.NewNamespace创建一个ns的变量,
//这个变量里面其实就是存储了一棵路由树,我们可以把这棵树加到其他任意已经存在的树中去
ns := beego.NewNamespace("/v1",
beego.NSNamespace("/object",
//调用了beego.NSInclude来进行注解路由的引入
beego.NSInclude(
&controllers.ObjectController{},
),
),
beego.NSNamespace("/user",
beego.NSInclude(
&controllers.UserController{},
),
),
)
beego.AddNamespace(ns)
}
那么在beego里面定义了如下的方法支持返回这个函数类型:
NSCond(cond namespaceCond) innnerNamespace
NSBefore(filiterList ...FilterFunc) innnerNamespace
NSAfter(filiterList ...FilterFunc) innnerNamespace
NSInclude(cList …ControllerInterface) innnerNamespace
NSRouter(rootpath string, c ControllerInterface, mappingMethods …string) innnerNamespace
NSGet(rootpath string, f FilterFunc) innnerNamespace
NSPost(rootpath string, f FilterFunc) innnerNamespace
NSDelete(rootpath string, f FilterFunc) innnerNamespace
NSPut(rootpath string, f FilterFunc) innnerNamespace
NSHead(rootpath string, f FilterFunc) innnerNamespace
NSOptions(rootpath string, f FilterFunc) innnerNamespace
NSPatch(rootpath string, f FilterFunc) innnerNamespace
NSAny(rootpath string, f FilterFunc) innnerNamespace
NSHandler(rootpath string, h http.Handler) innnerNamespace
NSAutoRouter(c ControllerInterface) innnerNamespace
NSAutoPrefix(prefix string, c ControllerInterface) innnerNamespace
NSNamespace(prefix string, params …innnerNamespace) innnerNamespace
因此我们可以在NewNamespace这个函数的第二个参数列表中使用上面的任意函数作为参数调用
来源:CSDN
作者:weixin_42282999
链接:https://blog.csdn.net/weixin_42282999/article/details/104512239