当前位置: 首页 > 面试题库 >

设置杜松子酒找不到的路线

拓拔曦
2023-03-14
问题内容

我在Gin中设置了默认路由器和一些路由:

router := gin.Default()
router.POST("/users", save)
router.GET("/users",getAll)

但是我该如何处理杜松子酒中找不到404路线?

最初,我使用的是了解Gin所用的httprouter,所以这就是我最初拥有的…

router.NotFound = http.HandlerFunc(customNotFound)

和功能:

func customNotFound(w http.ResponseWriter, r *http.Request) {
    //return JSON
    return
}

但这对杜松子酒不起作用。

我需要能够使用返回JSON,c *gin.Context这样我才能使用:

c.JSON(404, gin.H{"code": "PAGE_NOT_FOUND", "message": "Page not found"})

问题答案:

您正在寻找的是NoRoute处理程序。

更确切地说:

r := gin.Default()

r.NoRoute(func(c *gin.Context) {
    c.JSON(404, gin.H{"code": "PAGE_NOT_FOUND", "message": "Page not found"})
})


 类似资料:
  • 问题内容: 我是Go和Gin的新手,无法打印出完整的请求正文。 我希望能够从第三方POST读取请求正文,但是我收到的请求正文为空 我的整个代码如下。任何指针表示赞赏! 问题答案: 这里的问题是您要打印出接口类型的字符串值。 您可以做的是让您满意的是,它确实包含所需的主体,它是将值从字符串中读取出来,然后打印出来。 这仅用于您的学习过程! 学习代码: 但是,这不是您应该访问请求正文的方式。让杜松子酒

  • 问题内容: 如何在Gin Gonic Web Golang框架中将代理路由的一些路径反向请求到另一个后端 是否有一种方法可以直接在Handle函数中进行转发,如下所示? 问题答案: 您可以使用标准库httputil.ReverseProxy进行此操作。 我还没有找到自己使用gin的理由,所以我尽可能地坚持使用stdlib。但是我相信您可以包装此ReverseProxy处理程序,以便能够与您的gin

  • 问题内容: 我需要将响应主体记录在gin的中间件中,但是我找不到如何获取响应主体。有人可以帮忙吗? 我正在使用这样的中间件: 我的问题是,如何从中间件中的Context获取响应主体? 问题答案: 您需要拦截响应的编写并将其首先存储在某处。然后您可以记录它。为此,您需要实现自己的Writer来拦截Write()调用。 例如,如下: 然后像这样使用这个中间件: 请注意,该基石不适用于静态文件,因为gi

  • 我正在开发一个应用程序,它用setHomeAsUpIndicator方法取代了活动的标题。到目前为止,一切都有意义,因为通过阅读文档可以理解,但我不明白为什么当我按下图标时,会启动某个活动。代码的这一特定部分如下所示: 当按下时,会启动另一个活动,但我不知道指示在哪里。 谢谢你的帮助!

  • 跟随Redis酒吧/酒吧 这很好用,我可以使用 使用redis cli 当我在另一个类(listener类)中将订户块添加到该通道时,问题就开始了,如下所示 在<代码>redis-cli中 问题是,当我将subscriber listener类添加到同一个rails应用程序时。。。它停止工作,因为侦听redis服务器并停止执行任何其他代码。。。它只是坐在那里听着。 那么,有没有办法在同一个rail

  • 问题内容: 抱歉,如果这是一个基本问题: 我一直在尝试按照此处的教程在笔记本电脑上设置Python 。在 PIP下,VIRTUALENV + VIRTUALENVWRAPPER 副标题表示 现在设置virtualenvwrapper: 2 $ export MSYS_HOME=/c/msys/1.0 3 $ source /usr/local/bin/virtualenvwrapper.sh 上面