如何使用 Golang 构建 RESTful API 并部署到 Docker?
作者:FreshDream
时间:2024-05-20
来源:互联网
浏览:0
在Golang中构建RESTfulAPI,部署到Docker:创建Golang项目并定义数据结构。编写API处理程序,定义路由并启动HTTP服务器。创建Dockerfile,构建Docker镜像并运行Docker容器。实战案例:使用Postman或curl测试API。
在 Golang 中构建 RESTful API,部署到 Docker:创建 Golang 项目并定义数据结构。编写 API 处理程序,定义路由并启动 HTTP 服务器。创建 Dockerfile,构建 Docker 镜像并运行 Docker 容器。实战案例:使用 Postman 或 curl 测试 API。

如何在 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"`
}编写 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}'
作者最新文章
vivo V80 曝光:10月发布,首推10倍人像变焦与蔡司夜景长焦
2026-09-08 17:00
PDF转Excel操作指南:极轻PDF在线工具使用步骤与结果核对
2026-09-02 19:02
Blender 3D动画制作入门:绑定、关键帧、灯光与渲染全流程
2026-09-02 11:10
PS教程:图层、选区、蒙版与调色核心操作
2026-09-02 10:12
iQOO Pro(12GB/128GB/5G全网通)忘了手机密码怎么办?
2026-08-25 15:47
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















