Chi 라우터의 모든 경로 인쇄

👉 Read the complete article on TheDeveloperCafe 👈

시작하기



Go를 작성했다면 인기 있는 http 라우터chi에 대해 들어봤을 것입니다. 이 기사에서는 라우터에 등록된 모든 경로를 인쇄하는 방법을 배우게 됩니다. 이는 디버깅 목적에 매우 유용합니다.

기에 대해 알고 싶다면 Restful routing with Chi 을 읽어보세요.

라우터 설정



chi 설정이 있는 프로젝트가 있다고 가정합니다(그렇지 않으면 install chi).

3개의 경로가 등록된 라우터가 있는 애플리케이션을 가정해 보겠습니다.

package main

import (
    "fmt"
    "github.com/go-chi/chi/v5"
    "net/http"
)

func main() {
    router := chi.NewRouter()

    router.Get("/articles", sayHello)
    router.Get("/articles/{articleID}", sayHello)

    router.With(func(next http.Handler) http.Handler {
        return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
            next.ServeHTTP(w, r)
        })
    }).Post("/articles", sayHello) // 👈 route with middleware
}

func sayHello(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello World"))
}


자세히 살펴보면 이 경로( POST 경로) 중 하나에도 미들웨어 설정이 있습니다. 이제 우리는 모든 경로와 각 경로에 설정된 미들웨어 수를 인쇄하려고 합니다.

chi.Walk로 경로 인쇄



각 경로를 [<method>]: '<route>' has <x> middlewares 형식으로 인쇄하려고 합니다.

...TheDeveloperCafe에서 전체 기사 읽기

👉 Read the complete article on TheDeveloperCafe 👈

좋은 웹페이지 즐겨찾기