我有以下路由器:
func testHttp() {
r := mux.NewRouter()
s := r.PathPrefix("/cmd").Subrouter()
s.HandleFunc("/{cmd}", cmd)
http.Handle("/", r)
http.ListenAndServe(":8090", nil)
}
当我发出这样的请求时,localhost:8090/cmd/ls -lacmd 处理程序会正确执行。但是,如果我传递类似的内容,localhost:8090/cmd/ls -la /home/foo我会得到 404。这意味着 gorilla/mux 在检测到 / 时保持匹配。那么如何配置它,以便特定匹配路径(在本例中为 /cmd/)之后的所有内容都被视为该路径的参数?想必我只能求助于使用 GET 参数,但是如果也使用 /rest-endpoint/params-having/ 也可以实现这一点吗?
潇潇雨雨
相关分类