2017-03-23 61 views
2

routes.goを複数のファイルに分割して、各グループが独自のパッケージになるようにしたいと考えています。誰かがGinでこれを行ったコードの例を私に指摘できますか?複数のファイルへのGolang Gin-Gonicスプリットルート

package auth 
... 
auth = route.Group("/auth"){ 
    auth.GET(... 
    auth.POST(... 
} 
... 

package users 
... 
user = route.Group("/user"){ 
    user.GET(... 
    user.POST(... 
} 
... 

package main 
import (
    "auth" 
    "users" 
) 
... 
router = gin.Default() 
router.Register(auth.auth, users.user) 
router.Run() 
... 
+0

私が見ていましたその質問とその答えで。しかし、質問と回答は不明確で、ローカルのインポートパスを使用しているため、やや間違っていました。その答えは解決策が何であるかについても不明であった。私は質問と答えがより明確であると感じました。 – watr

+0

これはポイントの横にあります。既存の質問に対する回答が良い場合は、その質問の回答として投稿してください。既存の質問が不明な場合は、編集します。あなたの質問は明らかに重複しています。 – Zoyd

+0

私は質問を削除できませんので、重複しているため閉鎖のためにフラグを立てています。 – watr

答えて

3

すなわちこれを行う方法は、パラメータとしてルートを取り、その後、パラメータへのルートを追加し、それぞれで関数を作成することです:

package auth 
import "...gin" 
func Routes(route *gin.Engine) 
auth = route.Group("/auth"){ 
    auth.GET(... 
    auth.POST(... 
} 
... 

package users 
import "...gin" 
func Routes(route *gin.Engine) 
user = route.Group("/user"){ 
    user.GET(... 
    user.POST(... 
} 
... 

package main 
import (
    "github.com/username/package/sub/auth" 
    "github.com/username/package/sub/users" 
) 
... 
router = gin.Default() 
auth.Routes(router) //Added all auth routes 
user.Routes(router) //Added all user routes 
router.Run() 
... 
関連する問題