我希望一些查询参数是可选的。至于现在,我有
r.HandleFunc("/user", userByValueHandler). Queries( "username", "{username}", "email", "{email}", ). Methods("GET")
但是在这种情况下,请求中必须包含“用户名”和“电子邮件”。我想要一个更灵活的选择:使用2个或仅选择其中之一(但不设置零参数)。
谢谢!
因此,我找到了将逻辑重写为的解决方案:
r.HandleFunc("/user", UserByValueHandler).Methods("GET")
在其中UserByValueHandler我们可以有类似以下内容:
UserByValueHandler
func UserByValueHandler(w http.ResponseWriter, r *http.Request) { v := r.URL.Query() username := v.Get("username") email := v.Get("email") ..... }