2017-03-23 4 views
2

Ich bin auf der Suche nach meine Routen.go in mehrere Dateien zu teilen, so dass jede Gruppe in einem eigenen Paket ist. Kann mich jemand auf ein Beispiel für Code hinweisen, wo jemand das mit Gin gemacht hat?Golang Gin-Gonic Split Routen in mehrere Dateien

dh

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

ich gesucht hatte bei dieser Frage und ihrer Antwort. Die Frage und die Antwort waren jedoch unklar und etwas inkorrekt, da sie lokale Importpfade verwendeten. Die Antwort war auch unklar, was die Lösung war. Ich fühlte, dass meine Frage und Antwort klarer war. – watr

+0

Das ist neben dem Punkt. Wenn Sie eine vorhandene Frage besser beantworten können, geben Sie diese als Antwort auf diese Frage ein. Wenn die vorhandene Frage unklar ist, bearbeiten Sie sie. So wie es ist, ist deine Frage eindeutig ein Duplikat. – Zoyd

+0

Ich kann die Frage nicht löschen, daher habe ich sie aufgrund eines Duplikats als Schließung gekennzeichnet. – watr

Antwort

3

Die Art und Weise, dies zu tun, ist eine Funktion in jedem zu schaffen, die eine Route als Parameter annimmt, und fügt dann die Routen zu den Parametern:

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() 
...