仅在多个get参数请求中返回第一个参数

时间:2018-09-17 17:15:40

标签: http curl go

我有以下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 个答案:

答案 0 :(得分:4)

如果您发出

var yourTileLayer = L.tileLayer('https://storage.googleapis.com/yourbucket/yourobject/{z}/{x}/{y}',{tms=false}).addToMap();

外壳会看到

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设置为a。)要使其正常工作,您必须对URL进行转义:

22222