设置在 Gin 中找不到的路由
Setting up Route Not Found in Gin
我已经在 Gin 中设置了默认路由器和一些路由:
router := gin.Default()
router.POST("/users", save)
router.GET("/users",getAll)
但是如何处理 404 Route Not Found in Gin?
最初,我使用的是我知道 Gin 使用的 httprouter,所以这是我最初拥有的...
router.NotFound = http.HandlerFunc(customNotFound)
和函数:
func customNotFound(w http.ResponseWriter, r *http.Request) {
//return JSON
return
}
但这不适用于 Gin。
我需要能够 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"})
})
我已经在 Gin 中设置了默认路由器和一些路由:
router := gin.Default()
router.POST("/users", save)
router.GET("/users",getAll)
但是如何处理 404 Route Not Found in Gin?
最初,我使用的是我知道 Gin 使用的 httprouter,所以这是我最初拥有的...
router.NotFound = http.HandlerFunc(customNotFound)
和函数:
func customNotFound(w http.ResponseWriter, r *http.Request) {
//return JSON
return
}
但这不适用于 Gin。
我需要能够 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"})
})