gpt4 book ai didi

go - 使用 gorilla mux 检索可选的查询变量?

转载 作者:IT王子 更新时间:2023-10-29 00:41:27 25 4
gpt4 key购买 nike

我正在编写一个可以接受 POST 或 GET 的处理程序。因此,我希望能够说:

http://host/query?parm1=value&parm2=value

我假设 Gorilla mux 会给我:

{
"parm1": "value",
"parm2": "value
}

但是 mux.Vars(r) 是空的。我知道使用 .Query("key", "value" 将使参数成为必需的,这不是我想要的。我错过了什么?

最佳答案

正如评论中所反射(reflect)的那样,基本答案是“这不是 mux 的用途”。 mux 擅长分离 URL 的 path 部分,并将组件转换为变量。举一个假设的例子,一个提供国家信息的调用可能有一个看起来像这样的规范:

country/{code}

并接受如下所示的调用:

http://myhost/country/DE

您将像这样获得 code 参数的值:

code := mux.Vars(r)["code"]

如果你想传递查询变量,你不能用 mux 来做。直接从请求中获取它们。所以给定替代查询语法:

http://myhost/country?code=DE

你会这样做:

code := r.URL.Query().Get("code")

关于go - 使用 gorilla mux 检索可选的查询变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com