Golang에서 RESTful API를 구축하고 Docker에 배포: Golang 프로젝트를 생성하고 데이터 구조를 정의합니다. API 핸들러를 작성하고, 경로를 정의하고, HTTP 서버를 시작하세요. Dockerfile을 만들고, Docker 이미지를 빌드하고, Docker 컨테이너를 실행하세요. 실제 사례: Postman 또는 컬을 사용하여 API 테스트.
Golang에서 RESTful API를 구축하고 Docker에 배포하는 방법
go mod init my-api
type User struct { ID int `json:"id"` Name string `json:"name"` Email string `json:"email"` Age int `json:"age"` }
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) { // ... }
FROM golang:1.18-alpine WORKDIR /usr/src/app COPY . ./ RUN go build -o my-api CMD ["my-api"]
docker build -t my-api-image .
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!