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

Comment créer une API RESTful en utilisant Golang et utiliser un ORM ?

WBOY
Libérer: 2024-06-03 22:35:59
original
236 Les gens l'ont consulté

Créer une API RESTful à l'aide de Golang et utiliser un ORM implique les étapes suivantes : Créer l'API à l'aide de Gin. Installez et utilisez GORM comme ORM. Définissez des modèles de données et appliquez des migrations de bases de données. Créez une route API CRUD. Utilisez GORM pour les opérations de base de données. Déployez l'API et les applications frontales.

如何使用 Golang 构建 RESTful API 并使用 ORM?

Comment créer une API RESTful avec Golang et utiliser ORM

Introduction

L'API RESTful est une norme pour les interfaces de programmation d'applications modernes qui utilise des normes Web telles que HTTP, URL et JSON pour interagir avec les serveurs et obtenir des données . Dans cet article, nous apprendrons comment créer une API RESTful à l'aide de Golang et exploiter un ORM (Object Relational Mapper) pour simplifier l'interaction avec la base de données.

Prérequis

  • Installer Golang 1.16+
  • Installer une base de données (telle que MySQL ou PostgreSQL)

Construire une API avec Gin

Gin est un framework Web open source pour créer des applications Go. Tout d'abord, installez Gin en utilisant la commande suivante :

go get github.com/gin-gonic/gin
Copier après la connexion

Ensuite, créons un nouveau fichier appelé main.go et écrivons le code suivant : main.go 的新文件并编写以下代码:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()

    router.GET("/hello", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello, World!",
        })
    })

    router.Run()
}
Copier après la connexion

在终端中运行 go run main.go,然后在浏览器中导航到 localhost:8080/hello。您应该会看到一条包含 Hello, World! 的 JSON 响应。

使用 GORM 作为 ORM

GORM 是一个 Go 语言的开源 ORM,简化了与数据库的交互。首先,安装 GORM:

go get -u gorm.io/gorm
Copier après la connexion

main.go 中,添加如下代码:

import (
    "gorm.io/gorm"
    "gorm.io/driver/mysql"
)

var DB *gorm.DB

func connectDB() {
    // 替换 "user", "password", "dbname" 为实际值
    dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        // 处理连接错误
    }
    DB = db
}
Copier après la connexion

定义数据模型

让我们定义一个名为 Todo

type Todo struct {
    gorm.Model
    Task string
    Done bool
}
Copier après la connexion

Exécutez go run main dans le terminal .go et accédez à localhost:8080/hello dans votre navigateur. Vous devriez voir une réponse JSON contenant Hello, World !.

Utilisez GORM comme ORM

GORM est un ORM open source en langage Go qui simplifie l'interaction avec les bases de données. Tout d'abord, installez GORM :

go run main.go migrate
Copier après la connexion

Dans main.go, ajoutez le code suivant :

go run main.go migrate --migration-dir=./migrations up
Copier après la connexion

Définissons le modèle de données

Définissons un modèle de données nommé Todo :

// 创建 Todo
router.POST("/todos", createTodo)

// 获取所有 Todo
router.GET("/todos", getTodos)

// 获取指定 Todo
router.GET("/todos/:id", getTodoByID)

// 更新 Todo
router.PUT("/todos/:id", updateTodo)

// 删除 Todo
router.DELETE("/todos/:id", deleteTodo)
Copier après la connexion

Créer des tables et migrer

Avant d'exécuter l'API, nous devons créer des tables et migrer le schéma de la base de données. Exécutez la commande suivante dans le terminal :

func getTodos(c *gin.Context) {
    var todos []Todo
    if err := DB.Find(&todos).Error; err != nil {
        // 处理错误
    }
    c.JSON(200, todos)
}
Copier après la connexion
Cela imprimera le script de migration. Exécutez la commande suivante pour appliquer la migration :
    rrreee
  • API CRUDMaintenant, nous pouvons définir notre route API CRUD :
  • rrreee
  • Dans chaque fonction, utilisez GORM pour les opérations de base de données, par exemple : rrreeeCas pratique
  • Le Voici un cas pratique utilisant l'API que nous avons construite :
Front-end :

Créez le front-end à l'aide d'un framework JavaScript tel que React ou Angular.

🎜🎜Backend : 🎜Utilisez notre API Golang RESTful pour obtenir et mettre à jour les données de la base de données. 🎜🎜🎜Déploiement : 🎜Déployez l'API et le frontend sur une plateforme cloud telle qu'AWS ou Heroku. 🎜🎜🎜De cette façon, vous disposez d'une application entièrement fonctionnelle capable de gérer les tâches dans la base de données. 🎜

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!