dongwang3066
2016-12-22 09:02
浏览 2.4k
已采纳

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

I am looking at https://godoc.org/github.com/gin-gonic/gin documentation for a method which returns list of all the query parameters passed. There are methods which return value of a query parameter. Is there any method which returns list of all the query parameters passed ? It's ok if we don't get values. I am fetching the values of the query parameter using the following code. But this code can only check if the query parameter exists or not.

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
        }
    }
}

图片转代码服务由CSDN问答提供 功能建议

我正在查看 https://godoc.org/github.com/gin-gonic/gin 文档,该方法返回所有传递的查询参数的列表。 有一些返回查询参数值的方法。 有没有什么方法可以返回通过的所有查询参数的列表? 如果我们没有价值就可以。 我正在使用以下代码获取查询参数的值。 但是此代码只能检查查询参数是否存在。

  func myHandler(c * gin.Context){
 
 //检查查询参数
 如果queryParam,确定:= c.GetQuery(“ startingIndex”); 好的{
 if queryParam ==“” {
 c.Header(“ Content-Type”,“ application / json”)
 c.JSON(http.StatusNotFound,
 gin.H {“ Error:”:  “搜索过滤器上的起始索引无效!”})
 c.Abort()
 return 
} 
} 
} 
   
 
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanjipiao7076 2016-12-22 09:22
    已采纳

    You should be able to do c.Request.URL.Query() which will return a Values which is a map[string][]string

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • drqrdkfue521903877 2016-12-22 09:21

    If you're talking about GET query params, you can retrieve them using:

    c.Request.URL.Query()
    

    You'll get back a Values type which is a map[string][]string

    Docs: https://golang.org/pkg/net/url/#URL.Query

    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题