Irohabook
0
457

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(..., ...) というコードが続くことになる。

次の記事

HTTP