0

我想先定义方法/,然后再定义/?。所以我做了

r.Get("/", myHandlers.Get)
r.Get("/?id", myHandlers.GetById) 

但是当我击球时,http://myurl/?id=xyz我从不去GetById方法。如何在 Go Chi 中更好地区分它们?

4

1 回答 1

3

查询参数不是路由处理的一部分。因此,您只需要一个处理程序即可将 GET 请求发送到“/”,然后区分是否设置了 id 参数。

if id := r.URL.Query.Get("id"); id != "" {
    // call id function
} else {
    // call normal get function
}
于 2021-08-07T05:44:49.503 回答