登录
首页 >  Golang >  Go问答

解决 gin 在处理带有正斜杠的 url 编码路径参数时的问题

来源:stackoverflow

时间:2024-02-21 20:42:24 354浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《解决 gin 在处理带有正斜杠的 url 编码路径参数时的问题》,涉及到,有需要的可以收藏一下

问题内容

对于带有路径参数的给定路线(下面的示例)

router.get("/employee/:id", emphandler.getemployee)

当尝试调用 id 路径参数(编码)包含正斜杠的 url 时

id = 21/管理员/527 url 编码 id = 21%2fadmin%2f527

https://localhost:8000/emplayee/21%2fadmin%2f527

当我尝试满足此请求时收到 404 看来 gin 会自动解码路径参数并形成一个包含解码后的路径参数的 url 的路由

https://localhost:8000/emplayee/21/admin/527

我想要员工 id 路径参数的确切编码值,因为它将用于调用其他需要对其进行 url 编码的 api。


正确答案


我通过使用以下选项配置路由器解决了此问题

router.UseRawPath = true
router.UnescapePathValues = false

这解决了 404 错误,并且 gin 上下文返回相同的编码(未转义)值。 该值现在可用于调用其他需要员工 id 的 url 编码(未转义)值的 api

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《解决 gin 在处理带有正斜杠的 url 编码路径参数时的问题》文章吧,也可关注golang学习网公众号了解相关技术文章。

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