登录
首页 >  Golang >  Go问答

传入请求的路由

来源:stackoverflow

时间:2024-03-14 09:00:31 117浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《传入请求的路由》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在尝试使用 go 创建一个简单的 api,根据提供的数据执行某些操作。 我计划向此 api 提供 json 数据并从中获取详细信息以供进一步使用。

由于我尝试提供 json 数据,因此我使用 gorilla/mux 创建了路由,如下所示:

router.HandleFunc("/msa/dom/perform-factory-reset?json={jsonData}", CallGet)
    log.Fatal(http.ListenAndServe(":8080", router))

但是在尝试到达端点 http://localhost:8080/msa/dom/perform-factory-reset?json={"vrf":"ds","ip":"45","mac" 时:"452","method":"gfd"} 我收到 404 页面未找到 错误。

因此我尝试更改实现,以便新的路由完成如下:

router.handlefunc("/msa/dom/perform-factory-reset/json={jsondata}", callget)

这工作得很好,我能够执行所需的任务。有人能告诉我为什么会发生这种情况吗?


解决方案


路由器是 gorilla/mux 吗?如果是这样,您无法像这样将查询参数添加到路径中。你必须:

router.Path("/msa/dom/perform-factory-reset").
 Queries("json","{jsonData}").HandlerFunc(CallGet)

如果是其他路由器,那么您可能仍然需要注册不带查询参数的路径,然后从请求的处理程序中获取查询参数值。

理论要掌握,实操不能落!以上关于《传入请求的路由》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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