我有一个反向代理 API,它读取 localhost API 调用的参数,然后将这些参数发送到第 3 方 API。
如果我只使用一个参数,我就能让它正常工作。像这样:
http://localhost:8080/path?page=1
我希望能够使用多个参数,但是像这样:
http://localhost:8080/path?page=1¶m=x
请参阅下面的代码:此函数捕获 HTTP 请求,然后将这些参数发送到另一个 API。
func (s *Server) getReverseProxy(w http.ResponseWriter, r *http.Request) {
// when I try to append another query in the list a long with page, I get an error
keys, ok := r.URL.Query()["page"]
if !ok || len(keys[0]) < 1 {
log.Println("Url Param 'page' is missing")
return
}
// Query()["key"] will return an array of items,
// we only want the single item.
key := keys[0]
log.Println("Url Param 'page' is: " + string(key))
params := url.Values{
"page[size]": []string{"100"},
"page[number]": []string{""},
}
u := &url.URL{
Scheme: "https",
Host: "url.com",
Path: "/path",
RawQuery: params.Encode(),
}
}
无需折射,我在这里错过了一些简单的东西吗?如何为我的函数添加另一个参数来捕获?
慕田峪4524236
湖上湖
相关分类