У меня есть отдельный файл route.go (маршруты пакетов), где я храню все свои маршруты и обработчики. Но я хочу разделить этот файл на 2 файла. Я хочу переименовать свой route.go в main.go и создать новый дополнительный файл moduleX.go (маршруты пакетов). Как я могу это сделать? Я хочу хранить все свои маршруты в нескольких файлах одних и тех же «пакетных маршрутов».
package routes
import (
"github.com/gorilla/mux"
"net/http"
"github.com/---/001/models"
"github.com/---/001/sessions"
"github.com/---/001/utils"
"github.com/---/001/middleware"
)
func NewRouter() *mux.Router {
r := mux.NewRouter()
r.HandleFunc("/", middleware.AuthRequired(indexGetHandler)).Methods("GET")
r.HandleFunc("/", middleware.AuthRequired(indexPostHandler)).Methods("POST")
r.HandleFunc("/signup", signupGetHandler).Methods("GET")
r.HandleFunc("/signup", signupPostHandler).Methods("POST")
r.HandleFunc("/signin", signinGetHandler).Methods("GET")
r.HandleFunc("/signin", signinPostHandler).Methods("POST")
r.HandleFunc("/signout", signoutGetHandler).Methods("GET")
r.HandleFunc("/services", middleware.AuthRequired(servicesHandler)).Methods("GET")
fs := http.FileServer(http.Dir("./static/"))
r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", fs))
return r
}
Я хочу переместить все маршруты и обработчики "/signup" и "/signin" за пределы этого основного файла. А потом как-то передать их обратно в эту функцию NewRouter. Вы можете предоставить мне просто книгу или какой-нибудь онлайн-пример.