간단 설명
이번에는 Go 언어를 사용하여 간단한 REST API 서버를 만들어보도록 하겠습니다.
프로그램 구현
Go 언어에서 REST API 서버를 구현할 때는 다음과 같은 패키지를 사용합니다.
- net/http: HTTP 프로토콜을 사용하는 웹 서버를 구현할 때 사용하는 패키지
- encoding/json: JSON 형식의 데이터를 다루는 데 사용하는 패키지
이 패키지들을 사용하여 간단한 REST API 서버를 만들어보겠습니다.
1. 먼저, main.go 파일을 생성합니다.
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
)
type Message struct {
Text string `json:"text"`
}
func main() {
http.HandleFunc("/", helloHandler)
log.Fatal(http.ListenAndServe(":8080", nil))
}
func helloHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
message := Message{Text: "Hello, World!"}
json.NewEncoder(w).Encode(message)
fmt.Println("Request received")
}
2. Message 구조체를 정의합니다.
이 구조체는 JSON 형식으로 출력될 데이터를 담고 있습니다.
3. main 함수에서는 HTTP 핸들러 함수를 등록하고,
서버를 실행하는 코드를 작성합니다.
4. helloHandler 함수에서는 HTTP 요청을 처리하는 코드를 작성합니다.
먼저, 응답 메시지의 Content-Type 헤더를 설정하고, JSON 형식으로 응답을 반환합니다. 이후, "Request received" 라는 메시지를 출력합니다.
5. 이제 프로그램을 실행해봅니다. 커맨드 라인에서 다음과 같이 입력합니다.
go run main.go
6. 서버가 정상적으로 실행되면, 다음과 같은 결과가 출력됩니다.
2023/04/21 13:48:11 Server listening on port 8080
7. 이제 브라우저에서 http://localhost:8080 을 입력하여 접속하면, JSON 형식의 응답 메시지가 출력됩니다.
{"text":"Hello, World!"}
마무리
이렇게 간단한 REST API 서버를 Go 언어로 만들어보았습니다. 이 예제를 확장하여 데이터베이스 연동, JWT 인증 등의 기능을 추가할 수 있습니다. Go 언어는 강력한 기능과 높은 성능을 가진 언어이므로, 대규모 서비스에서도 사용될 수 있습니다.
'Golang' 카테고리의 다른 글
[Golang] TCP서버 (0) | 2023.04.24 |
---|---|
[Golang] Go언어 조건문 (0) | 2023.04.19 |
[Golang] Go언어 반복문 (0) | 2023.04.18 |
[Golang] Go언어 (0) | 2023.04.13 |
댓글