Wie erstelle ich eine RESTful-API mit Golang und verwende ein ORM?

WBOY
Freigeben: 2024-06-03 22:35:59
Original
298 Leute haben es durchsucht

Der Aufbau einer RESTful-API mit Golang und der Verwendung eines ORM umfasst die folgenden Schritte: Erstellen Sie die API mit Gin. Installieren und verwenden Sie GORM als Ihr ORM. Definieren Sie Datenmodelle und wenden Sie Datenbankmigrationen an. Erstellen Sie eine CRUD-API-Route. Verwenden Sie GORM für Datenbankoperationen. Stellen Sie API- und Front-End-Anwendungen bereit.

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

So erstellen Sie eine RESTful API mit Golang und verwenden ORM

Einführung

RESTful API ist ein Standard für moderne Anwendungsprogrammierschnittstellen, der Webstandards wie HTTP, URL und JSON verwendet, um mit Servern zu interagieren und Daten abzurufen . In diesem Artikel erfahren Sie, wie Sie mit Golang eine RESTful-API erstellen und einen ORM (Object Relational Mapper) nutzen, um die Interaktion mit der Datenbank zu vereinfachen.

Voraussetzungen: Golang 1.16+ installieren. Installieren Sie Gin zunächst mit dem folgenden Befehl:

go get github.com/gin-gonic/gin
Nach dem Login kopieren
    Dann erstellen wir eine neue Datei mit dem Namen main.go und schreiben den folgenden Code:
  • 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()
    }
    Nach dem Login kopieren
  • Run go run main im Terminal .go und navigieren Sie in Ihrem Browser zu localhost:8080/hello. Sie sollten eine JSON-Antwort sehen, die Hello, World! enthält.
  • Verwenden Sie GORM als ORM

GORM ist ein Open-Source-ORM in der Go-Sprache, das die Interaktion mit Datenbanken vereinfacht. Installieren Sie zunächst GORM:

go get -u gorm.io/gorm
Nach dem Login kopieren

Fügen Sie in main.go den folgenden Code hinzu:

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
}
Nach dem Login kopieren

Definieren Sie das Datenmodellmain.go 的新文件并编写以下代码:

type Todo struct {
    gorm.Model
    Task string
    Done bool
}
Nach dem Login kopieren

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

使用 GORM 作为 ORM

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

go run main.go migrate
Nach dem Login kopieren

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

go run main.go migrate --migration-dir=./migrations up
Nach dem Login kopieren

定义数据模型

让我们定义一个名为 Todo

Lassen Sie uns ein Datenmodell namens Todo definieren:

// 创建 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)
Nach dem Login kopieren

Tabellen erstellen und migrieren

Bevor wir die API ausführen, müssen wir Tabellen erstellen und das Datenbankschema migrieren. Führen Sie im Terminal den folgenden Befehl aus:

func getTodos(c *gin.Context) {
    var todos []Todo
    if err := DB.Find(&todos).Error; err != nil {
        // 处理错误
    }
    c.JSON(200, todos)
}
Nach dem Login kopieren
Dadurch wird das Migrationsskript gedruckt. Führen Sie den folgenden Befehl aus, um die Migration anzuwenden:

rrreee

CRUD API

Jetzt können wir unsere CRUD-API-Route definieren:

rrreee

In jeder Funktion verwenden Sie GORM für Datenbankoperationen, zum Beispiel:

rrreee

Übungsfall

The Im Folgenden finden Sie einen praktischen Fall mit der von uns erstellten API:
  • Frontend:
  • Erstellen Sie das Frontend mit einem JavaScript-Framework wie React oder Angular.
  • Backend:
  • Verwenden Sie unsere Golang RESTful API, um Daten aus der Datenbank abzurufen und zu aktualisieren.
  • Bereitstellung:
  • Stellen Sie die API und das Frontend auf einer Cloud-Plattform wie AWS oder Heroku bereit.

Auf diese Weise verfügen Sie über eine voll funktionsfähige Anwendung, die Aufgaben in der Datenbank verwalten kann. 🎜

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine RESTful-API mit Golang und verwende ein ORM?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage