Bagaimana untuk membina API RESTful menggunakan Golang dan menggunakan ORM?

WBOY
Lepaskan: 2024-06-03 22:35:59
asal
252 orang telah melayarinya

Membina API RESTful menggunakan Golang dan menggunakan ORM melibatkan langkah berikut: Cipta API menggunakan Gin. Pasang dan gunakan GORM sebagai ORM anda. Tentukan model data dan gunakan migrasi pangkalan data. Buat laluan API CRUD. Gunakan GORM untuk operasi pangkalan data. Gunakan API dan aplikasi bahagian hadapan.

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

Cara membina API RESTful dengan Golang dan menggunakan ORM

Pengenalan

RESTful API ialah standard untuk antara muka pengaturcaraan aplikasi moden yang menggunakan standard web seperti HTTP, URL dan JSON untuk berinteraksi dengan pelayan dan mendapatkan data . Dalam artikel ini, kita akan belajar cara membina API RESTful menggunakan Golang dan memanfaatkan ORM (Object Relational Mapper) untuk memudahkan interaksi dengan pangkalan data.

Prasyarat

  • Pasang Golang 1.16+
  • Pasang pangkalan data (seperti MySQL atau PostgreSQL)

Bina API dengan Gin

Gin ialah rangka kerja web aplikasi sumber terbuka. Mula-mula, pasang Gin menggunakan arahan berikut:

go get github.com/gin-gonic/gin
Salin selepas log masuk

Kemudian, mari kita buat fail baharu bernama main.go dan tulis kod berikut: 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()
}
Salin selepas log masuk

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

使用 GORM 作为 ORM

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

go get -u gorm.io/gorm
Salin selepas log masuk

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
}
Salin selepas log masuk

定义数据模型

让我们定义一个名为 Todo

type Todo struct {
    gorm.Model
    Task string
    Done bool
}
Salin selepas log masuk

Jalankan go run main dalam terminal .go dan navigasi ke localhost:8080/hello dalam penyemak imbas anda. Anda seharusnya melihat respons JSON yang mengandungi Hello, World!.

Gunakan GORM sebagai ORM

GORM ialah ORM sumber terbuka dalam bahasa Go yang memudahkan interaksi dengan pangkalan data. Mula-mula, pasang GORM:

go run main.go migrate
Salin selepas log masuk

Dalam main.go, tambahkan kod berikut:

go run main.go migrate --migration-dir=./migrations up
Salin selepas log masuk

Tentukan model data

Mari kita tentukan model data bernama 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)
Salin selepas log masuk

Buat jadual dan pindahkan

Sebelum menjalankan API, kita perlu mencipta jadual dan memindahkan skema pangkalan data. Jalankan arahan berikut dalam terminal:

func getTodos(c *gin.Context) {
    var todos []Todo
    if err := DB.Find(&todos).Error; err != nil {
        // 处理错误
    }
    c.JSON(200, todos)
}
Salin selepas log masuk
Ini akan mencetak skrip migrasi. Jalankan arahan berikut untuk menggunakan migrasi:
    rrreee
  • CRUD APIKini, kita boleh menentukan laluan CRUD API kami:
  • rrreee
  • Dalam setiap fungsi, gunakan GORM untuk operasi pangkalan data, contohnya: rrreeeKes Amalan
  • berikut ialah kes praktikal menggunakan API yang kami bina:
  • Halaman hadapan:
Buat bahagian hadapan menggunakan rangka kerja JavaScript seperti React atau Angular.

🎜Backend: 🎜Gunakan API RESTful Golang kami untuk mendapatkan dan mengemas kini data daripada pangkalan data. 🎜🎜🎜Deployment: 🎜Gunakan API dan frontend ke platform awan seperti AWS atau Heroku. 🎜🎜🎜Dengan cara ini, anda mempunyai aplikasi berfungsi sepenuhnya yang boleh menguruskan tugasan dalam pangkalan data. 🎜

Atas ialah kandungan terperinci Bagaimana untuk membina API RESTful menggunakan Golang dan menggunakan ORM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!