Golang の chi でルーティングをまとめる:Route を使ってコードを整理しよう
Go の chi は Route を使うと共通の URL をまとめられる。
r.Route("/user/{user}", func(r chi.Router) {
r.Get("/", UserHome)
r.Get("/posts", UserPosts)
})
上のコードは
/user/abc/
という URL に対して UserHome という関数を表示して
/user/abc/posts
という URL に対して UserPosts という関数を表示する。コードの全体は下のようになる。
func main() {
r := chi.NewRouter()
r.Route("/user/{user}", func(r chi.Router) {
r.Get("/", UserHome)
r.Get("/posts", UserPosts)
})
r.NotFound(NotFound)
_ = http.ListenAndServe(":8080", r)
}
もちろん Route を使わなくてもルーティングはできる。その場合は r.Get(..., ...) というコードが続くことになる。