> 백엔드 개발 > Golang > Go의 HTTP POST 요청에서 쿼리 문자열에 액세스하는 방법은 무엇입니까?

Go의 HTTP POST 요청에서 쿼리 문자열에 액세스하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-10 17:22:10
원래의
740명이 탐색했습니다.

How to Access Query Strings in Go's HTTP POST Requests?

Go의 HTTP 패키지를 사용하여 POST 요청에서 쿼리 문자열에 액세스

Go의 HTTP 패키지로 POST 요청을 처리할 때 쿼리 문자열에 액세스하고 구문 분석할 수 있습니다. 중대한. HTTP 패키지는 쿼리 문자열을 추출하는 편리한 방법을 제공합니다: Query().

POST 요청에서 쿼리 문자열은 일반적으로 정보의 키-값 쌍을 포함하는 URL에 첨부됩니다. . Query() 메소드는 이러한 키-값 쌍을 검색하여 값 맵으로 구문 분석합니다.

POST 요청에서 쿼리 문자열에 액세스하려면 다음 단계를 따르세요.

  • URL 추출: *http.Request 객체에서 다음을 사용하여 URL을 얻습니다. r.URL.
  • 쿼리 문자열 구문 분석: URL에서 Query() 메서드를 사용하여 쿼리 문자열을 구문 분석합니다. 그러면 키가 매개변수 이름을 나타내고 해당 값이 해당 매개변수에 대한 값의 배열인 값 맵이 반환됩니다.
  • 매개변수 값에 액세스: 값 맵에서 매개변수 값을 검색하려면 다음 중 하나를 사용합니다. Get() 또는 []string 인덱스 표기법.
  • 참고: 매개변수에 액세스할 때 대소문자 구분이 중요합니다. 값 맵의 키입니다.

예:

func newHandler(w http.ResponseWriter, r *http.Request) {
  fmt.Println("GET params were:", r.URL.Query())

  // if only one expected
  param1 := r.URL.Query().Get("param1")
  if param1 != "" {
    // ... process it, will be the first (only) if multiple were given
    // note: if they pass in like ?param1=&param2= param1 will also be "" :|
  }

  // if multiples possible, or to process empty values like param1 in
  // ?param1=&param2=something
  param1s := r.URL.Query()["param1"]
  if len(param1s) > 0 {
    // ... process them ... or you could just iterate over them without a check
    // this way you can also tell if they passed in the parameter as the empty string
    // it will be an element of the array that is the empty string
  }    
}
로그인 후 복사

위 내용은 Go의 HTTP POST 요청에서 쿼리 문자열에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿