Gorilla mux 路由到错误的处理程序
我正在 Go 中练习一个简单的 CRUD Rest API,我终于完成了一些基本的样板(我可能会切换到 GORM),但我注意到 mux
没有正确路由我的 POST方法处理程序。如果我要发布到 /inventory
我会收到数据库中的所有项目。
func RegisterItemsRouter(router *mux.Router) {
itemsRouter := router.PathPrefix("/inventory").Subrouter()
itemsRouter.HandleFunc("/", addItem).Methods(http.MethodPost)
itemsRouter.HandleFunc("/", getItems).Methods(http.MethodGet)
itemsRouter.HandleFunc("/{id:[0-9]+}", getItemById).Methods(http.MethodGet)
itemsRouter.HandleFunc("/{id}", deleteItem).Methods(http.MethodDelete)
itemsRouter.HandleFunc("/{id}", updateItem).Methods(http.MethodPut)
}
这是邮递员
I'm practicing with a simple CRUD rest API in Go, I'm finally done with some basic boilerplate (I'm might switch to GORM), but I noticed that mux
is not properlly routing my POST method handler. If I were to post to /inventory
I instead receive all the items on my DB.
func RegisterItemsRouter(router *mux.Router) {
itemsRouter := router.PathPrefix("/inventory").Subrouter()
itemsRouter.HandleFunc("/", addItem).Methods(http.MethodPost)
itemsRouter.HandleFunc("/", getItems).Methods(http.MethodGet)
itemsRouter.HandleFunc("/{id:[0-9]+}", getItemById).Methods(http.MethodGet)
itemsRouter.HandleFunc("/{id}", deleteItem).Methods(http.MethodDelete)
itemsRouter.HandleFunc("/{id}", updateItem).Methods(http.MethodPut)
}
Here's how it looks like in postman
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论