代码之家  ›  专栏  ›  技术社区  ›  somejkuser

只返回多个get参数请求中的第一个参数

  •  0
  • somejkuser  · 技术社区  · 7 年前

    我有以下api curl请求:

    curl --request GET http://127.0.0.1/juris?d=11111&a=22222

    在我的 http handler function w http.ResponseWriter,r *http.Request

    defer r.Body.Close()
    keys,ok := r.URL.Query()["d"]   
    if !ok{
     respondWithError(w,http.StatusBadRequest,"InvalidQuery")
     return
    }
    dnisQuery := string(keys[0])
    akeys,aok := r.URL.Query()["a"]     
    if !aok{
     respondWithError(w,http.StatusBadRequest,"InvalidQuery")
     return
    }
    aniQuery := string(akeys[0])
    

    它验证并传递第一个查询参数的正确值 d 但是对于第二个参数它失败了 a 带着一个 InvalidQuery

    1 回复  |  直到 7 年前
        1
  •  4
  •   Benjamin W.    7 年前

    curl --request GET http://127.0.0.1/juris?d=11111&a=22222
    

    贝壳会看到的

    curl --request GET http://127.0.0.1/juris?d=11111 & a=22222
    

    并将第一个命令作为后台作业运行,这就是 a 22222 )要使其工作,您必须退出您的URL:

    curl --request GET 'http://127.0.0.1/juris?d=11111&a=22222'
    
    推荐文章