i Gorilla Mux bin mit einem REST-API für das Schreiben, und ich habe Probleme meine Routen zu organisieren, zur Zeit alle meine Routen sind in der main.go
Datei definiert wie dieseWie organisiert man Gorilla Mux Routen?
//main.go
package main
import (
"NovAPI/routes"
"fmt"
"github.com/gorilla/mux"
"net/http"
)
func main() {
router := mux.NewRouter().StrictSlash(true)
router.HandleFunc("/hello", func(res http.ResponseWriter, req *http.Request) {
fmt.Fprintln(res, "Hello")
})
router.HandleFunc("/user", func(res http.ResponseWriter, req *http.Request) {
fmt.Fprintln(res, "User")
})
router.HandleFunc("/route2", func(res http.ResponseWriter, req *http.Request) {
fmt.Fprintln(res, "Route2")
})
router.HandleFunc("/route3", func(res http.ResponseWriter, req *http.Request) {
fmt.Fprintln(res, "Route3")
})
// route declarations continue like this
http.ListenAndServe(":1128", router)
}
so, was ich tun möchte, ist herausnehmen und Teilen Sie diese Routenerklärung in mehrere Dateien auf, wie würde ich das machen? danke im voraus.
Ich habe das aus Gründen der Einfachheit gemacht, aber meine Handler sind eigentlich im routes-Paket definiert, also muss ich noch die Routen aus der Hauptfunktion nehmen – zola
Ich verstehe den Punkt nicht: wie auch immer du bist schreibe deine Routen immer noch irgendwo ... Wenn dein "main" zu lang ist, kannst du vielleicht einen 'NewRouter'-Helfer schreiben, der es für dich initialisiert. – Elwinar
Eine andere Lösung wäre, eine Initialisierungsfunktion in Ihrem Routenpaket zu haben, die den Router als Eingabe nimmt und die Routen nach Bedarf hinzufügt. Aber ich rate dringend davon ab. – Elwinar