Maison > développement back-end > Golang > le corps du texte

Comment créer une API RESTful à l'aide de Golang et la déployer sur Docker ?

WBOY
Libérer: 2024-06-01 16:38:02
original
650 Les gens l'ont consulté

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 如何使用 Golang 构建 RESTful API 并部署到 Docker?

go mod init my-api
Copier après la connexion

Créer une image Docker

type User struct {
    ID     int    `json:"id"`
    Name   string `json:"name"`
    Email  string `json:"email"`
    Age    int    `json:"age"`
}
Copier après la connexion
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) {
    // ...
}
Copier après la connexion

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"]
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!