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

golang 中构建 restful api,部署到 docker:创建 golang 项目并定义数据结构。编写 api 处理程序,定义路由并启动 http 服务器。创建 dockerfile,构建 docker 镜像并运行 docker 容器。实战案例:使用 postman 或 curl 测试 api。

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

如何在 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 mainimport (    "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-alpineWORKDIR /usr/src/appCOPY . ./RUN go build -o my-apiCMD ["my-api"]

登录后复制

构建 Docker 镜像

docker build -t my-api-image .

登录后复制

运行 Docker 容器

docker run -p 8080:8080 my-api-image

登录后复制

实战案例:

可以将此 API 部署到 Docker 并使用 Postman 或 curl 进行测试。例如,创建一个名为 “test” 的用户:

立即学习“go语言免费学习笔记(深入)”;

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?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2540094.html

(0)
上一篇 2025年3月6日 01:44:16
下一篇 2025年2月18日 06:09:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论