Golang을 사용하여 RESTful API를 구축하고 Docker에 배포하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-06-01 16:38:02
원래의
651명이 탐색했습니다.

Golang에서 RESTful API를 구축하고 Docker에 배포: Golang 프로젝트를 생성하고 데이터 구조를 정의합니다. API 핸들러를 작성하고, 경로를 정의하고, HTTP 서버를 시작하세요. Dockerfile을 만들고, Docker 이미지를 빌드하고, Docker 컨테이너를 실행하세요. 실제 사례: Postman 또는 컬을 사용하여 API 테스트.

如何使用 Golang 构建 RESTful API 并部署到 Docker?

Golang에서 RESTful API를 구축하고 Docker에 배포하는 방법

RESTful API 구축

Golang 프로젝트 생성

go mod init my-api
로그인 후 복사

데이터 구조 정의

type User struct {
    ID     int    `json:"id"`
    Name   string `json:"name"`
    Email  string `json:"email"`
    Age    int    `json:"age"`
}
로그인 후 복사

Write API 핸들러

package main

import (
    "encoding/json"
    "fmt"
    "net/http"

    "github.com/gorilla/mux"
)

func main() {
    // 创建一个新的路由器
    r := mux.NewRouter()

    // 定义路由
    r.HandleFunc("/users", getUsers).Methods("GET")
    r.HandleFunc("/users/{id}", getUser).Methods("GET")
    r.HandleFunc("/users", createUser).Methods("POST")
    r.HandleFunc("/users/{id}", updateUser).Methods("PUT")
    r.HandleFunc("/users/{id}", deleteUser).Methods("DELETE")

    // 启动 HTTP 服务器
    fmt.Println("Listening on port 8080")
    http.ListenAndServe(":8080", r)
}

// 获取所有用户
func getUsers(w http.ResponseWriter, r *http.Request) {
    // ...
}

// 获取单个用户
func getUser(w http.ResponseWriter, r *http.Request) {
    // ...
}

// 创建用户
func createUser(w http.ResponseWriter, r *http.Request) {
    // ...
}

// 更新用户
func updateUser(w http.ResponseWriter, r *http.Request) {
    // ...
}

// 删除用户
func deleteUser(w http.ResponseWriter, r *http.Request) {
    // ...
}
로그인 후 복사

Docker에 배포

Dockerfile

FROM golang:1.18-alpine

WORKDIR /usr/src/app

COPY . ./

RUN go build -o my-api

CMD ["my-api"]
로그인 후 복사

Docker 이미지 빌드

docker build -t my-api-image .
로그인 후 복사

Docker 컨테이너 실행

docker run -p 8080:8080 my-api-image
로그인 후 복사

실용 사례:

이 API를 Docker에 배포하고 Postman 또는 Curl을 사용하여 테스트할 수 있습니다. 예를 들어 "test"라는 사용자를 만듭니다.

curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d '{"name": "test", "email": "test@example.com", "age": 30}'
로그인 후 복사

위 내용은 Golang을 사용하여 RESTful API를 구축하고 Docker에 배포하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!