[go] net/http 패키지를 사용한 RESTful API 만들기

이 블로그 포스트에서는 Go 언어에서 net/http 패키지를 사용하여 간단한 RESTful API를 만드는 방법에 대해 알아보겠습니다.

시작하기 전에

이 예제를 실행하기 위해서는 Go 언어의 기본 지식이 필요합니다. 또한 Go 언어가 설치되어 있어야 합니다.

RESTful API란 무엇인가?

RESTful API는 Representational State Transfer(REST) 아키텍처를 따르는 API를 말합니다. 이는 자원을 URL과 HTTP 메소드로 표현하고, 상태를 JSON이나 XML 형식으로 전달하는 것을 의미합니다.

코드 구현

package main

import (
	"encoding/json"
	"log"
	"net/http"
)

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

var users = []User{
	{ID: 1, Name: "Alice"},
	{ID: 2, Name: "Bob"},
}

func getUsers(w http.ResponseWriter, r *http.Request) {
	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(users)
}

func main() {
	http.HandleFunc("/users", getUsers)
	log.Fatal(http.ListenAndServe(":8080", nil))
}

위의 코드는 간단한 RESTful API를 만드는 예제입니다. /users 엔드포인트로 GET 요청을 보내면 등록된 사용자 목록을 JSON 형식으로 반환합니다.

실행 및 테스트

코드를 실행하기 위해, 터미널에서 다음 명령을 실행합니다.

go run main.go

그리고 다음 URL로 GET 요청을 보내봅니다.

http://localhost:8080/users

정상적으로 실행된다면, 등록된 사용자 목록이 JSON 형식으로 반환될 것입니다.

마치며

이번 포스트에서는 Go 언어의 net/http 패키지를 사용하여 간단한 RESTful API를 만드는 방법에 대해 알아보았습니다. RESTful API를 구현함으로써 각종 애플리케이션과의 통신을 보다 편리하고 효율적으로 할 수 있습니다.

더 많은 정보를 찾으려면 Go 공식 문서를 확인해 보세요.