>  기사  >  백엔드 개발  >  Go에서 Gorilla/Mux를 사용하여 URL 경로 매개변수를 추출하는 방법은 무엇입니까?

Go에서 Gorilla/Mux를 사용하여 URL 경로 매개변수를 추출하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-24 08:52:30909검색

How to Extract URL Path Parameters Using Gorilla/Mux in Go?

Go에서 URL 경로 매개변수 읽기

특정 URL 경로를 처리해야 하는 Go에서 웹 애플리케이션을 개발하고 있습니다. 특히 URL 경로의 일부를 example.com/person/(any_name) 형식으로 읽고 표시하려고 합니다. 여기서 (any_name)은 변수 매개변수를 나타냅니다.

이를 수행하려면 gorilla/ 경로 처리에는 mux 패키지를 적극 권장합니다.

gorilla/mux 사용

gorilla/mux 패키지는 Go용 강력한 라우터입니다. URL에서 매개변수를 캡처하는 기능을 포함하여 경로를 정의하고 관리하는 간단한 방법을 제공합니다.

gorilla/mux를 사용하여 (any_name) 매개변수를 읽고 인쇄하는 방법은 다음과 같습니다.

<code class="go">package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

func PersonHandler(w http.ResponseWriter, r *http.Request) {
    vars := mux.Vars(r)
    name := vars["name"]
    fmt.Fprintf(w, "Hello, %s!", name)
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/person/{name}", PersonHandler).Methods(http.MethodGet)

    if err := http.ListenAndServe(":8080", r); err != nil {
        log.Fatal(err)
    }
}</code>

이 스크립트에서는 다음을 수행합니다.

  1. gorilla/mux를 포함하여 필요한 패키지를 가져옵니다.
  2. /person/에 대한 요청을 처리할 핸들러 함수인 PersonHandler를 정의합니다. {name} 경로.
  3. gorilla/mux의 Vars 함수를 사용하여 요청에서 {name} 매개변수를 추출합니다.
  4. 캡처된 매개변수 값(사람 이름)을 응답 작성자에 씁니다.
  5. 라우터에 경로를 등록하고 HTTP 메소드를 GET으로 지정합니다.
  6. 포트 8080에서 웹 서버를 시작하고 들어오는 요청을 수신합니다.

요청이 있을 때 example.com/person/John에 만들어지면 PersonHandler 함수는 매개변수 이름이 John으로 설정된 상태로 호출됩니다. 그러면 함수는 "Hello, John!"을 인쇄합니다. 응답합니다.

위 내용은 Go에서 Gorilla/Mux를 사용하여 URL 경로 매개변수를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.