Maison >développement back-end >Golang >Comment créer une API RESTful à l'aide de Golang et la déployer sur Docker ?
Créez une API RESTful dans Golang et déployez-la sur Docker : créez un projet Golang et définissez la structure des données. Écrivez des gestionnaires d'API, définissez des routes et démarrez des serveurs HTTP. Créez un fichier Docker, créez une image Docker et exécutez un conteneur Docker. Cas pratique : tester l'API avec Postman ou curl. Comment créer une API RESTful dans Golang et la déployer sur Docker
Créer un fichier Docker
go mod init my-apiCréer une image Docker
type User struct { ID int `json:"id"` Name string `json:"name"` Email string `json:"email"` Age int `json:"age"` }Exécuter le conteneur 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) { // ... }Cas pratique :Vous pouvez déployer cette API sur Docker et utiliser Postman ou curl pour les tests. Par exemple, créez un utilisateur nommé "test" :
FROM golang:1.18-alpine WORKDIR /usr/src/app COPY . ./ RUN go build -o my-api CMD ["my-api"]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!