24

Gin でデフォルト ルーターといくつかのルートをセットアップしました。

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

404 Route Not Found in 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"})
4

1 に答える 1

55

あなたが探しているのはNoRouteハンドラです。

より正確に:

r := gin.Default()

r.NoRoute(func(c *gin.Context) {
    c.JSON(404, gin.H{"code": "PAGE_NOT_FOUND", "message": "Page not found"})
})
于 2015-09-07T18:24:45.130 に答える