是否可以通过查询区分同一路径上的路由?

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
}