【问题标题】:Does Go or Beego supports dynamic url routing like id=?Go 或 Beego 是否支持像 id= 这样的动态 url 路由?
【发布时间】:2017-02-16 12:50:54
【问题描述】:
func main() {

    beego.Router("/", &MainController{})
    beego.Router("/userid/", &SqlController{})
    beego.Run()

}

这适用于网址“http://localhost:8080/userid” 但是如果我希望用户 id 值对于 ex "http://localhost:8080?userid=1" 是动态的 我无法在 go 中使用路由器来实现这一点。

【问题讨论】:

    标签: url go router beego dynamic-url


    【解决方案1】:

    ?id=xxx中提取xxx是关于请求参数解析的,可以在beego's document中获取示例。

    路由(在您的上下文中)是将匹配特定模式的请求映射到相应的操作。当 id 不同时,我想您想要的不是将它们映射到不同的操作。所以它不应该被称为路由。这只是参数解析。

    【讨论】:

      【解决方案2】:

      不确定beego,但是使用go http请求可以访问这样的查询参数 request.URL.Query(),其中request 的类型为*http.Request。你想要的基本上是来自 URL 的查询参数?因此,您从请求中获取 URL 对象,然后访问查询参数。 Query() 方法返回一个map[string][]string

      【讨论】:

      • 不,我已经尝试过了...会产生分段违规恐慌
      • 我使用 gorilla mux 和 golang http 包,它对我很有效。
      猜你喜欢
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      相关资源
      最近更新 更多