首頁 > 後端開發 > Golang > 主體

如何使用 Golang 建立 RESTful API 並使用 ORM?

WBOY
發布: 2024-06-03 22:35:59
原創
236 人瀏覽過

使用 Golang 建立 RESTful API 並使用 ORM 涉及以下步驟:使用 Gin 建立 API。安裝並使用 GORM 作為 ORM。定義資料模型並應用資料庫遷移。建立增刪改查 API 路由。使用 GORM 進行資料庫操作。部署 API 和前端應用程式。

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

如何使用Golang 建立RESTful API 並使用ORM

引言

RESTful API 是使用HTTP、URL 和JSON 等web 標準來與伺服器互動和獲取資料的現代應用程式介面的標準。在本文中,我們將學習如何使用 Golang 建立 RESTful API 並利用 ORM(物件關係映射器)來簡化與資料庫的互動。

先決條件

  • 安裝Golang 1.16+
  • #安裝一個資料庫(如MySQL 或PostgreSQL)
##使用Gin 建置API

Gin 是一個用於建立Go 應用程式的開源web 框架。首先,使用以下命令安裝Gin:

go get github.com/gin-gonic/gin
登入後複製

然後,讓我們建立一個名為

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
}
登入後複製

建立表格和遷移

#在執行API 之前,我們需要建立表格和遷移資料庫架構。在終端機中執行以下命令:

go run main.go migrate
登入後複製

這將列印遷移腳本。執行以下指令來應用遷移:

go run main.go migrate --migration-dir=./migrations up
登入後複製

增刪改查API

現在,我們可以定義我們的增刪改查API 路由:

// 创建 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)
登入後複製

在每個函數中,使用GORM 進行資料庫操作,例如:

func getTodos(c *gin.Context) {
    var todos []Todo
    if err := DB.Find(&todos).Error; err != nil {
        // 处理错误
    }
    c.JSON(200, todos)
}
登入後複製

實戰案例

以下是使用我們建構的API 的一個實戰案例:

  • 前端:使用React 或Angular 等JavaScript 框架創建前端。
  • 後端:使用我們的 Golang RESTful API 從資料庫中取得和更新資料。
  • 部署:將 API 和前端部署到雲端平台,例如 AWS 或 Heroku。
這樣,你就擁有了一個功能齊全的應用程序,可以管理資料庫中的任務。

以上是如何使用 Golang 建立 RESTful API 並使用 ORM?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!