美文网首页beego
2.2 Beego中路由的快速体验

2.2 Beego中路由的快速体验

作者: 帶頭二哥 | 来源:发表于2020-01-12 20:27 被阅读0次

    2.2 Beego中路由的快速体验

    2.2.1路由的简单设置

    路由的作用:根据不同的请求指定不同的控制器

    路由函数:beego.Router("/path",&controller.MainController{})

    函数参数:

    先分析一下Url地址由哪几部分组成? 同一资源定位符

    http://192.168.110.71:8080/index

    **http://地址:端口/资源路径 **

    第一个参数:资源路径,也就是/后面的内容

    第二个参数:需要指定的控制器指针

    了解上面的内容之后我们来看几个简单的例子:

    beego.Router("/", &controllers.MainController{})
    beego.Router("/index", &controllers.IndexController{})
    beego.Router("/login", &controllers.LoginController{})
    

    2.2.2高级路由设置

    一般在开发过程中,我们基本不使用beego提供的默认请求访问方法,都是自定义相应的方法。那我们来看一下如何来自定义请求方法。

    自定义请求方法需要用到Router的第三个参数。这个参数是用来给不同的请求指定不同的方法。具体有如下几种情况。

    • 一个请求访问一个方法(也是最常用的),请求和方法之间用 : 隔开,不同的请求用 ; 隔开:

      beego.Router("/simple",&SimpleController{},"get:GetFunc;post:PostFunc")
      
    • 可以多个请求,访问一个方法 ,请求之间用,隔开,请求与方法之间用:隔开:

      beego.Router("/api",&RestController{},"get,post:ApiFunc")
      
    • 所有的请求访问同一个方法,用*号代表所有的请求,和方法之间用:隔开:

      beego.Router("/api/list",&RestController{},"*:ListFood")
      
    • 如果同时存在 * 和对应的 HTTP请求,那么优先执行 HTTP请求所对应的方法,例如同时注册了如下所示的路由:

      beego.Router("/simple",&SimpleController{},"*:AllFunc;post:PostFunc")
      

      那么当遇到Post请求的时候,执行PostFunc而不是AllFunc。

      如果用了自定义方法之后,默认请求将不能访问。

    相关文章

      网友评论

        本文标题:2.2 Beego中路由的快速体验

        本文链接:https://www.haomeiwen.com/subject/brswactx.html