登录
首页 >  Golang >  Go问答

Gorilla Mux Router 具有多个查询参数的 GET URL 仅在被所有查询参数调用时才匹配

来源:stackoverflow

时间:2024-03-31 17:18:34 219浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《Gorilla Mux Router 具有多个查询参数的 GET URL 仅在被所有查询参数调用时才匹配》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

下面是使用 gorilla mux 路由器时 http get 调用的快照:

usersapis.handlefunc("/users",
    middleware.wrapperhandler(th.list)).
    queries("email", "{email}").
    queries("order_by", "{order_by}").
    queries("order_type", "{order_type}").
    queries("page", "{page}").
    queries("limit", "{limit}").
    methods("get")

现在,当使用所有查询参数进行 get 调用时,例如

http://localhost:xxxx/accounts/users?email=a&page=1&limit=4&order_by=a&order_type=b

然后 gorilla mux 路由器匹配该模式并将其传递给处理程序。

但是当使用更少的参数调用时,例如

http://localhost:xxxx/accounts/users?email=a&page=1

然后它说例如404 not find 表示资源路径未映射。

问题:

#1。这里遗漏了什么,go gorilla mux router 是否需要所有查询参数?

#2。如果 get 查询可以带有零个或多个参数该怎么办?例如

http://localhost:xxxx/accounts/users?email=a&page=1

http://localhost:xxxx/accounts/users?page=1

解决方案


查询(键,值)在传递到路由时充当路径匹配器。由于需要 5 个路径参数,因此仅当所有 5 个路径参数都存在时,路由才会匹配。

虽然现在回答这个问题有点晚了,但对于后来偶然发现这个问题的人来说。

终于介绍完啦!小伙伴们,这篇关于《Gorilla Mux Router 具有多个查询参数的 GET URL 仅在被所有查询参数调用时才匹配》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

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