是否可以通过查询区分同一路径上的路由?
Is it possible to differentiate a route on the same path but with a query?
我想在 /
上定义方法,然后在 /?
上定义方法。所以我做了
r.Get("/", myHandlers.Get)
r.Get("/?id", myHandlers.GetById)
但是当我点击 http://myurl/?id=xyz
时,我从不使用 GetById
方法。如何在 Go Chi 中更好地区分它们?
查询参数不是路由处理的一部分。因此,您只需要一个处理程序来处理对“/”的 GET 请求,然后区分是否设置了 id 参数。
if id := r.URL.Query.Get("id"); id != "" {
// call id function
} else {
// call normal get function
}
我想在 /
上定义方法,然后在 /?
上定义方法。所以我做了
r.Get("/", myHandlers.Get)
r.Get("/?id", myHandlers.GetById)
但是当我点击 http://myurl/?id=xyz
时,我从不使用 GetById
方法。如何在 Go Chi 中更好地区分它们?
查询参数不是路由处理的一部分。因此,您只需要一个处理程序来处理对“/”的 GET 请求,然后区分是否设置了 id 参数。
if id := r.URL.Query.Get("id"); id != "" {
// call id function
} else {
// call normal get function
}