我正在使用gorilla web toolkit和golang,并且有以下代码
func test(w http.ResponseWriter, r *http.Request) {
fmt.Println("test was called ..")
}
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
mx := mux.NewRouter()
mx.HandleFunc(?, test)
http.ListenAndServe(":8080", mx)
}
我的服务器将提供一个带有表单的html文档,该表单将执行get-request并发送“/?id = {something}”。如何在mx.HandleFunc中设置模式以匹配查询以便调用测试?
我试过了:
"/?id={something},
"/?id=",
mx.HandleFunc("/", test).Queries("id")
mx.HandleFunc("/", test).Methods("POST")
(最后一个我更改了相应的页面代码,以便表单代替发布)。
答案 0 :(得分:2)
使用.Queries()
时,您需要为其提供密钥和值,例如:
mx.HandleFunc("/", test).Queries("id", "value")
您还可以使用模式作为值,例如:
mx.HandleFunc("/", test).Queries("id", "{id:[0-9]+}")
详情请见此处:http://godoc.org/github.com/gorilla/mux#Route.Queries