[go] HTTP POST 요청 처리하기

Golang을 사용하여 웹 애플리케이션을 개발하다보면 HTTP POST 요청을 처리해야 하는 경우가 많습니다. 이 포스트에서는 Golang에서 HTTP POST 요청을 어떻게 처리하는지 알아보겠습니다.

HTTP POST 요청 받기

Golang에서 HTTP POST 요청을 받으려면 net/http 패키지를 사용하여 핸들러를 등록해야 합니다.

먼저, 서버를 시작하고 다음과 같이 핸들러 함수를 등록할 수 있습니다.

http.HandleFunc("/submit", submitHandler)
http.ListenAndServe(":8080", nil)

그런 다음, submitHandler 함수를 작성하여 POST 요청을 처리할 수 있습니다.

func submitHandler(w http.ResponseWriter, r *http.Request) {
    if r.Method == "POST" {
        // 요청의 body에서 데이터 읽기
        body, err := ioutil.ReadAll(r.Body)
        if err != nil {
            http.Error(w, "Failed to read request body", http.StatusInternalServerError)
            return
        }
        
        // 받은 데이터 처리
        fmt.Println(string(body))
        // ...
        
        w.WriteHeader(http.StatusOK)
        w.Write([]byte("Data received"))
    } else {
        http.Error(w, "Only POST method is supported", http.StatusMethodNotAllowed)
    }
}

위의 코드에서, submitHandler 함수는 POST 요청을 받아들이고 요청의 body에서 데이터를 읽어옵니다. 그런 다음 받은 데이터를 처리하고 요청에 대한 응답을 보냅니다.

이제 Golang에서 HTTP POST 요청을 받아 처리하는 방법을 알게 되었습니다. 웹 애플리케이션을 개발할 때 이 기능을 활용하여 데이터를 안전하게 전송하고 처리할 수 있습니다.

참고 자료

이제 HTTP POST 요청을 처리하기 위한 기본적인 Golang 코드를 작성하는 방법을 익혔습니다. 이제 이를 활용하여 데이터를 안전한 방법으로 전송하고 처리할 수 있게 될 것입니다.