登录
首页 >  Golang >  Go问答

拥有相同路由的 Gorilla MUX 路由

来源:stackoverflow

时间:2024-02-19 14:45:16 342浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《拥有相同路由的 Gorilla MUX 路由》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我在 golang api 中使用 gorilla mux 进行路由。我有两个相似的路径:/users/{id}/users/settings。当我调用 /users/settings 端点时,它被路由到端点 /users/{id}。我该如何解决这个问题?

router := mux.NewRouter()
router.HandleFunc("/users/{id}", usersController.GetUserDetail).Methods(http.MethodGet)
router.HandleFunc("/users/settings", usersController.GetSettings).Methods(http.MethodGet)

解决方案


使用解决方案 Gorilla MUX routing with similar paths。我切换了顺序,现在我首先注册设置。

router.HandleFunc("/users/settings", usersController.GetSettings).Methods(http.MethodGet)

router.HandleFunc("/users/{id}", usersController.GetUserDetail).Methods(http.MethodGet)

对 id /{id:[0-9]+} 这样的路由使用正则表达式,它将匹配数字。

终于介绍完啦!小伙伴们,这篇关于《拥有相同路由的 Gorilla MUX 路由》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>