Maison  >  Article  >  développement back-end  >  Comment créer une API RESTful en utilisant Golang et utiliser un ORM ?

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

WBOY
WBOYoriginal
2024-06-03 22:35:59237parcourir

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

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()
}

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

使用 GORM 作为 ORM

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

go get -u gorm.io/gorm

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
}

定义数据模型

让我们定义一个名为 Todo

type Todo struct {
    gorm.Model
    Task string
    Done bool
}

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

Dans main.go, ajoutez le code suivant :

go run main.go migrate --migration-dir=./migrations up

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)

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)
}

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!

Déclaration:
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