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

tom*_*456 13 go go-gin

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

router := gin.Default()
router.POST("/users", save)
router.GET("/users",getAll)
Run Code Online (Sandbox Code Playgroud)

但是如何处理杜松子酒中没有找到404路线?

最初,我使用的是我理解Gin使用的httprouter,所以这就是我原来的...

router.NotFound = http.HandlerFunc(customNotFound)
Run Code Online (Sandbox Code Playgroud)

和功能:

func customNotFound(w http.ResponseWriter, r *http.Request) {
    //return JSON
    return
}
Run Code Online (Sandbox Code Playgroud)

但这不适用于杜松子酒.

我需要能够使用以下命令返回JSON,c *gin.Context以便我可以使用:

c.JSON(404, gin.H{"code": "PAGE_NOT_FOUND", "message": "Page not found"})
Run Code Online (Sandbox Code Playgroud)

Pab*_*dez 30

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

更确切地说:

r := gin.Default()

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