[go] Go 언어를 사용한 RESTful API의 요청/응답 포맷 처리
Go 언어는 간단하고 효율적인 RESTful API를 개발하는 데 매우 적합한 언어입니다. RESTful API에서 요청과 응답의 포맷을 처리하는 방법에 대해 알아보겠습니다.
요청 포맷 처리
Go 언어에서 RESTful API의 요청을 처리하기 위해 net/http
패키지를 사용할 수 있습니다. 이 패키지는 http.Request
구조체를 제공하여 요청의 헤더, 바디, 쿼리 파라미터 등을 쉽게 접근할 수 있습니다.
// 예시 코드
func handler(w http.ResponseWriter, r *http.Request) {
// 헤더 접근 예시
contentType := r.Header.Get("Content-Type")
// 바디 접근 예시
body, err := ioutil.ReadAll(r.Body)
if err != nil {
// 에러 처리
}
// 쿼리 파라미터 접근 예시
query := r.URL.Query().Get("key")
// 요청 처리 로직 구현
// 응답 전송 예시
w.WriteHeader(http.StatusOK)
w.Write([]byte("Hello, World!"))
}
위의 코드에서 http.Request
구조체의 Header
, Body
, URL
메소드를 사용하여 요청의 헤더, 바디, 쿼리 파라미터를 접근하고 처리할 수 있습니다.
응답 포맷 처리
Go 언어에서 RESTful API의 응답을 처리하기 위해 net/http
패키지의 ResponseWriter
인터페이스를 사용할 수 있습니다. 이 인터페이스를 사용하여 응답의 상태 코드, 헤더, 바디 등을 설정할 수 있습니다.
// 예시 코드
func handler(w http.ResponseWriter, r *http.Request) {
// 응답 상태 코드 설정 예시
w.WriteHeader(http.StatusOK)
// 응답 헤더 설정 예시
w.Header().Set("Content-Type", "application/json")
// 응답 바디 작성 예시
w.Write([]byte(`{"message": "Hello, World!"}`))
}
위의 코드에서 ResponseWriter
인터페이스의 WriteHeader
, Header
, Write
메소드를 사용하여 응답의 상태 코드, 헤더, 바디를 설정하고 작성할 수 있습니다.
요약
Go 언어를 사용하여 RESTful API의 요청과 응답 포맷을 처리하는 방법에 대해 알아보았습니다. net/http
패키지의 http.Request
구조체와 ResponseWriter
인터페이스를 사용하여 간단하고 효율적으로 요청과 응답을 처리할 수 있습니다.
더 자세한 내용은 Go 언어 공식 문서를 참고하시기 바랍니다.