【问题标题】:How to list all variables in Gorilla Mux?如何列出 Gorilla Mux 中的所有变量?
【发布时间】:2016-01-18 09:26:14
【问题描述】:

当你在 Golang 中创建一个 funcHandler 并使用 Gorilla Mux 时,我知道你可以通过调用 Mux.Vars 来访问特定的输入变量。但是,我不确定当您以 JSON 格式存储数据时它是如何工作的,部分原因是我不确定 Mux.Vars() 是如何工作的。所以,我想知道如何在输入 funcHandler 时列出 Mux.Vars() 存储的所有变量以及如何解析存储在 URL 中的 JSON(即 /data?name="bill"&value="red" ,我想在其中找到名称和值键的值)。

【问题讨论】:

  • 应该在/data?name="bill"&value="red" 的什么位置隐藏一些 JSON?直接解析 URL 会有什么问题?
  • mux.Vars 是当您使用 gorilla/mux 的 URL 参数绑定时。如果您想解析查询字符串参数,您可以使用golang.org/pkg/net/http/#Request.FormValuerequest.URLnet/url 来解析它们。

标签: json go gorilla mux


【解决方案1】:

列出所有 Gorilla Mux:

for k, v := range mux.Vars(request) {
    log.Printf("key=%v, value=%v", k, v)
}

Vars 函数返回一个mapfor range 循环,帮助您阅读我向您展示的所有项目。
但我认为你的问题有点不同,如果你想读取随请求发送的 JSON 数据或其他数据,你需要读取请求正文(req.Body)。请注意,请求正文是 Reader 接口而不是字符串。如果您希望输入 JSON 格式的示例:
Handling JSON Post Request in Go

【讨论】:

    猜你喜欢
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2014-12-22
    • 2017-06-19
    • 2016-04-05
    • 2021-08-05
    • 2019-01-02
    相关资源
    最近更新 更多