最近发现不少小伙伴都对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相关知识,快来关注吧!