[go] net/http 패키지를 사용한 요청 매개변수 파싱

일반적으로 웹 애플리케이션에서는 클라이언트의 HTTP 요청에서 매개변수를 추출하여 사용해야 하는 경우가 많습니다. Go 언어의 net/http 패키지를 사용하면 이러한 요청 매개변수를 쉽게 파싱할 수 있습니다. 이 포스트에서는 net/http 패키지를 사용하여 HTTP 요청의 매개변수를 파싱하는 방법에 대해 살펴보겠습니다.

요청 매개변수 가져오기

net/http 패키지에서는 http.Request 구조체의 FormValue 메서드를 사용하여 요청의 매개변수를 가져올 수 있습니다. 예를 들어, 다음은 HTTP GET 요청의 “name” 매개변수를 가져오는 방법입니다.

func handler(w http.ResponseWriter, r *http.Request) {
    name := r.FormValue("name")
    // name을 사용하여 작업 수행
}

위의 코드에서 r.FormValue("name")은 요청의 “name” 매개변수 값을 가져옵니다. 만약 요청에 “name” 매개변수가 포함되어 있지 않으면 빈 문자열을 반환합니다.

net/http 패키지는 요청의 메서드(GET 또는 POST)나 Content-Type에 따라 자동으로 적절한 매개변수를 파싱합니다. 이를 통해 개발자는 요청 매개변수를 명시적으로 구문 분석할 필요가 없습니다.

POST 요청의 매개변수 가져오기

만약 HTTP POST 요청의 매개변수를 가져와야 하는 경우에는 다음과 같이 ParseForm 메서드를 호출하여 먼저 요청의 본문을 파싱해야 합니다. 그런 다음 FormValue 메서드를 사용하여 매개변수를 가져올 수 있습니다.

func handler(w http.ResponseWriter, r *http.Request) {
    err := r.ParseForm()
    if err != nil {
        // 요청 파싱 에러 처리
    }
    name := r.FormValue("name")
    // name을 사용하여 작업 수행
}

요약

Go 언어의 net/http 패키지를 사용하면 HTTP 요청의 매개변수를 쉽게 파싱할 수 있습니다. http.Request 구조체의 FormValue 메서드를 사용하여 GET 및 POST 요청의 매개변수를 쉽게 가져올 수 있습니다.

위의 예제 코드는 Go 언어에서 net/http 패키지를 사용하여 요청 매개변수를 파싱하는 간단한 방법을 보여주었습니다. 이를 참고하여 웹 애플리케이션에서 요청 매개변수를 효과적으로 활용할 수 있습니다.

관련 자료: Go net/http 패키지 공식 문서