Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membina API RESTful menggunakan Golang dan gunakan ke Docker?

Bagaimana untuk membina API RESTful menggunakan Golang dan gunakan ke Docker?

WBOY
WBOYasal
2024-06-01 16:38:02674semak imbas

Bina API RESTful di Golang dan gunakan ke Docker: Buat projek Golang dan tentukan struktur data. Tulis pengendali API, tentukan laluan dan mulakan pelayan HTTP. Buat fail Docker, bina imej Docker dan jalankan bekas Docker. Kes praktikal: menguji API menggunakan Posman atau curl.

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

Cara membina API RESTful di Golang dan gunakan ke Docker

Bina API RESTful

Buat projek Golang

go mod init my-api

Tentukan struktur data

type User struct {
    ID     int    `json:"id"`
    Name   string `json:"name"`
    Email  string `json:"email"`
    Age    int    `json:"age"`
}

rreee API

rreee

rreee

rreee

Buat fail Docker

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) {
    // ...
}

Bina imej Docker

FROM golang:1.18-alpine

WORKDIR /usr/src/app

COPY . ./

RUN go build -o my-api

CMD ["my-api"]

Jalankan bekas Docker

docker build -t my-api-image .

Kes praktikal:

Anda boleh menggunakan API ini ke Docker dan menggunakan Posman atau curl untuk ujian. Contohnya, buat pengguna bernama "test": 🎜
docker run -p 8080:8080 my-api-image

Atas ialah kandungan terperinci Bagaimana untuk membina API RESTful menggunakan Golang dan gunakan ke Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn