[go] Go 언어를 사용한 RESTful API의 데이터 생성 방법

Go 언어는 웹 개발을 위한 강력한 언어로 알려져 있습니다. RESTful API에서 데이터를 생성하는 방법을 배우기 위해 이 문서에서는 Go 언어를 사용하는 방법을 알아보겠습니다.

1. 기본 설정

먼저 Go 언어의 net/http 패키지를 가져와야 합니다. 이 패키지를 사용하면 HTTP 요청과 응답을 처리할 수 있습니다.

import (
    "net/http"
)

또한, 데이터를 생성하기 위해 임의의 구조체를 정의할 필요가 있습니다. 예를 들면 다음과 같습니다.

type User struct {
    ID   int    `json:"id"`
    Name string `json:"name"`
    ...
}

2. 핸들러 함수 작성

데이터 생성을 처리하는 핸들러 함수를 작성해야 합니다. 이 함수는 http.ResponseWriterhttp.Request를 매개변수로 받아 처리합니다. 예를 들어, 사용자를 생성하는 핸들러 함수는 다음과 같이 작성할 수 있습니다.

func createUser(w http.ResponseWriter, r *http.Request) {
    // 요청 데이터 파싱
    var user User
    err := json.NewDecoder(r.Body).Decode(&user)
    if err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }
  
    // 데이터베이스에 사용자 정보 저장
    // ...
  
    // 응답 데이터 생성
    response := struct {
        Message string `json:"message"`
    }{
        Message: "User created successfully",
    }
    json.NewEncoder(w).Encode(response)
}

3. 라우터 등록

마지막으로 핸들러 함수를 라우터에 등록해야 합니다. http 패키지의 ServeMux를 사용하여 간단하게 라우터를 작성할 수 있습니다.

func main() {
    // 라우터 생성
    router := http.NewServeMux()
    
    // POST /users 요청에 대한 핸들러 등록
    router.HandleFunc("/users", createUser)
    
    // 서버 시작
    http.ListenAndServe(":8080", router)
}

위의 예제에서는 POST /users 요청에 대한 핸들러 함수인 createUser를 등록했습니다. 이제 데이터 생성을 위해 POST /users 엔드포인트에 요청을 보낼 수 있습니다.

결론

Go 언어를 사용하여 RESTful API에서 데이터를 생성하는 방법에 대해 알아보았습니다. 위의 예제를 참고하여 원하는 데이터 생성 로직을 작성해보세요. Go 언어의 간결함과 빠른 속도를 통해 효율적인 웹 개발을 할 수 있을 것입니다.


참고 자료: