


Bagaimana untuk membina API RESTful menggunakan Golang dan gunakan ke Docker?
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.
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
rreeerreee
rreeeBuat 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 Dockerpackage 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"]
Salin selepas log masuk
Jalankan bekas DockerFROM 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
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk membaca dan menulis fail dengan selamat menggunakan Golang?

Bagaimana untuk mengkonfigurasi kolam sambungan untuk sambungan pangkalan data Golang?

Persamaan dan Perbezaan antara Golang dan C++

Seberapa curam keluk pembelajaran seni bina rangka kerja golang?

Bagaimana untuk menjana elemen rawak dari senarai di Golang?

Perbandingan kebaikan dan keburukan rangka kerja golang

Apakah amalan terbaik untuk pengendalian ralat dalam rangka kerja Golang?

arahan penggunaan dokumen rangka kerja golang
