如何从 go \*gin.context 对象中获取所有查询参数

新手上路,请多包涵

我正在查看 https://godoc.org/github.com/gin-gonic/gin 返回传递的所有查询参数列表的方法的文档。有些方法返回查询参数的值。是否有任何方法返回传递的所有查询参数的列表?如果我们没有得到值也没关系。我正在使用以下代码获取查询参数的值。但是这段代码只能检查查询参数是否存在。

 func myHandler(c *gin.Context) {

    // check for query params
    if queryParam, ok := c.GetQuery("startingIndex"); ok {
        if queryParam == "" {
            c.Header("Content-Type", "application/json")
            c.JSON(http.StatusNotFound,
                gin.H{"Error: ": "Invalid startingIndex on search filter!"})
            c.Abort()
            return
        }
    }
}

原文由 codec 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 771
2 个回答

你应该能够做 c.Request.URL.Query() 这将返回一个 map[string][]string

原文由 ctcherry 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用以下方式获取查询参数:

 c.Query("key") -> returns string
or
c.GetQuery("key") -> returns (string, bool->ok)

原文由 Amirreza Saki 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏