我在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 *gin.Context
c.JSON(404, gin.H{"code": "PAGE_NOT_FOUND", "message": "Page not found"})
您正在寻找的是NoRoute处理程序。
NoRoute
更确切地说:
r := gin.Default() r.NoRoute(func(c *gin.Context) { c.JSON(404, gin.H{"code": "PAGE_NOT_FOUND", "message": "Page not found"}) })