Mux 处理程序未接收到从 curl post 传递的所有查询参数
Mux handler not receiving all the query parameters passed from curl post
我无法使用 Mux 接收所有查询参数。只收到第一部分
func main() {
router := mux.NewRouter()
router.HandleFunc("/resize", resizeImageFromPayload).Methods("POST")
log.Fatal(http.ListenAndServe(":8080", router))
}
func resizeImageFromPayload(w http.ResponseWriter, r *http.Request) {
widthParameter := r.URL.Query().Get("width")
heightParameter := r.URL.Query().Get("height")
fmt.Println(r.URL.String())
fmt.Println(widthParameter)
fmt.Println(heightParameter)
//More code..
}
当我调用 api 使用 curl curl -XPOST http://localhost:8080/resize?width=100&height=100 -o img_resize.png -F "file=@snap1.png"
这是它打印的内容:
/resize?width=100
100
它似乎省略了 &height=100 部分。有什么想法吗?
提前致谢。
URL http://localhost:8080/resize?width=100&height=100
包含一个特殊字符 &
,具有 another meaning 到 shell。
为了将和号 (&
) 用作 URL 中的实际字符,您需要将 URL 放在引号中:"http://localhost:8080/resize?width=100&height=100
"
我无法使用 Mux 接收所有查询参数。只收到第一部分
func main() {
router := mux.NewRouter()
router.HandleFunc("/resize", resizeImageFromPayload).Methods("POST")
log.Fatal(http.ListenAndServe(":8080", router))
}
func resizeImageFromPayload(w http.ResponseWriter, r *http.Request) {
widthParameter := r.URL.Query().Get("width")
heightParameter := r.URL.Query().Get("height")
fmt.Println(r.URL.String())
fmt.Println(widthParameter)
fmt.Println(heightParameter)
//More code..
}
当我调用 api 使用 curl curl -XPOST http://localhost:8080/resize?width=100&height=100 -o img_resize.png -F "file=@snap1.png"
这是它打印的内容:
/resize?width=100
100
它似乎省略了 &height=100 部分。有什么想法吗?
提前致谢。
URL http://localhost:8080/resize?width=100&height=100
包含一个特殊字符 &
,具有 another meaning 到 shell。
为了将和号 (&
) 用作 URL 中的实际字符,您需要将 URL 放在引号中:"http://localhost:8080/resize?width=100&height=100
"