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

WBOY
Lepaskan: 2024-06-01 16:38:02
asal
651 orang telah melayarinya

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
Salin selepas log masuk

Tentukan struktur data

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

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) {
    // ...
}
Salin selepas log masuk

Bina imej Docker

FROM golang:1.18-alpine

WORKDIR /usr/src/app

COPY . ./

RUN go build -o my-api

CMD ["my-api"]
Salin selepas log masuk

Jalankan bekas Docker

docker build -t my-api-image .
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!