我正在使用 Gorilla Mux 来处理我的 REST API 的 HTTP 路由。我正在为我的 API 使用以下绑定:
r := mux.NewRouter()
r.Host(baseUrl)
api := r.PathPrefix("/api").Subrouter()
api.HandleFunc("/users", APIUsers).Methods("GET", "POST")
http.Handle("/", r)
http.ListenAndServe(":8083", nil)
然后我做一个这样的CURL:
$ curl -i -X PUT http://127.0.0.1:8083/api/users
正如预期的那样,该方法APIUsers
没有被调用。我确实得到了200 OK
回报:
HTTP/1.1 200 OK
Date: Tue, 30 Dec 2014 19:03:59 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8
我是否应该对 Gorilla 进行不同的操作,例如将所有失败的功能绑定到指定的功能?另外我想知道在不受支持的函数上返回的典型 HTTP 代码是什么。我假设该400
范围内的代码,但我不确定使用哪个。我不希望这样200
,因为请求不是“ OK
”。
关于这个主题的任何想法和提示?