如何从 go *gin.context 对象中获取所有查询参数
How to get all query parameters from go *gin.context object
我正在查看 https://godoc.org/github.com/gin-gonic/gin
文档中的方法,其中 return 列出了所有传递的查询参数。有一些方法 return 查询参数的值。是否有任何方法可以传递所有查询参数的 returns 列表?如果我们没有得到值也没关系。我正在使用以下代码获取查询参数的值。但是这段代码只能检查查询参数是否存在。
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
}
}
}
如果您谈论的是 GET 查询参数,您可以使用以下方法检索它们:
c.Request.URL.Query()
你会得到一个 map[string][]string
的值类型
您应该能够做到 c.Request.URL.Query()
,这将 return 一个 Values,这是一个 map[string][]string
您可以使用以下方式获取查询参数:
c.Query("key") -> returns string
or
c.GetQuery("key") -> returns (string, bool->ok)
我正在查看 https://godoc.org/github.com/gin-gonic/gin
文档中的方法,其中 return 列出了所有传递的查询参数。有一些方法 return 查询参数的值。是否有任何方法可以传递所有查询参数的 returns 列表?如果我们没有得到值也没关系。我正在使用以下代码获取查询参数的值。但是这段代码只能检查查询参数是否存在。
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
}
}
}
如果您谈论的是 GET 查询参数,您可以使用以下方法检索它们:
c.Request.URL.Query()
你会得到一个 map[string][]string
您应该能够做到 c.Request.URL.Query()
,这将 return 一个 Values,这是一个 map[string][]string
您可以使用以下方式获取查询参数:
c.Query("key") -> returns string
or
c.GetQuery("key") -> returns (string, bool->ok)