2015-09-07 3 views
6

で発見しませんか?は、私は、セットアップデフォルトルータとジンでいくつかのルートをしましたジン

もともと、私は...

router.NotFound = http.HandlerFunc(customNotFound) 

と機能httprouter私はジンが、これは私がもともと持っていたものだったので、使用しています理解しているを使用していました:

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

をが、これは動作しませんジン。私は私が使用できるようc *gin.Contextを使用してJSONを返すことができるようにする必要があり

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

答えて

18

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

より正確には:

r := gin.Default() 

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

はい、私はそれを見てきましたが、どのように私はジンのコンテキストを利用できるようにするのですか? – tommyd456

+0

NoRouteの署名を見ましたか? Handlerを受け取り、コンテキストを渡します。それはあなたが意味することですか? –

+0

コンテキストを使用して/意味を渡すことを意味する例を提供してもらえますか? – tommyd456

関連する問題