Go 或 Beego 是否支持像 id= 这样的动态 url 路由?
Does Go or Beego supports dynamic url routing like id=?
func main() {
beego.Router("/", &MainController{})
beego.Router("/userid/", &SqlController{})
beego.Run()
}
这适用于 url “http://localhost:8080/userid”
但如果我希望用户 ID 值对于前“http://localhost:8080?userid=1”是动态的
我无法在 go 中使用路由器实现此目的。
不确定beego,但是使用go http request你可以像这样访问查询参数
request.URL.Query()
,其中 request
的类型为 *http.Request
。您想要的基本上是来自 URL 的查询参数?因此,您从请求中获取 URL 对象,然后访问查询参数。 Query()
方法returns一个map[string][]string
从?id=xxx
中提取xxx
是关于请求参数解析的,可以在beego's document中获取示例。
路由(在您的上下文中)是关于将匹配特定模式的请求映射到相应的操作。当 id 不同时,我想您想要的不是将它们映射到不同的操作。所以不应该叫路由。这只是参数解析。
func main() {
beego.Router("/", &MainController{})
beego.Router("/userid/", &SqlController{})
beego.Run()
}
这适用于 url “http://localhost:8080/userid” 但如果我希望用户 ID 值对于前“http://localhost:8080?userid=1”是动态的 我无法在 go 中使用路由器实现此目的。
不确定beego,但是使用go http request你可以像这样访问查询参数
request.URL.Query()
,其中 request
的类型为 *http.Request
。您想要的基本上是来自 URL 的查询参数?因此,您从请求中获取 URL 对象,然后访问查询参数。 Query()
方法returns一个map[string][]string
从?id=xxx
中提取xxx
是关于请求参数解析的,可以在beego's document中获取示例。
路由(在您的上下文中)是关于将匹配特定模式的请求映射到相应的操作。当 id 不同时,我想您想要的不是将它们映射到不同的操作。所以不应该叫路由。这只是参数解析。