Golang を使用して RESTful API を構築し、ORM を使用するにはどうすればよいですか?

WBOY
リリース: 2024-06-03 22:35:59
オリジナル
236 人が閲覧しました

Golang と ORM を使用して RESTful API を構築するには、次の手順が必要です: Gin を使用して API を作成します。 GORM をインストールして ORM として使用します。データ モデルを定義し、データベース移行を適用します。 CRUD 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 という新しいファイルを作成し、次のコードを記述します: 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
}
ログイン後にコピー

ターミナルで go run main を実行します。 .go をクリックし、ブラウザで localhost:8080/hello に移動します。 Hello, World! を含む JSON 応答が表示されるはずです。

ORM として GORM を使用する

GORM は、データベースとの対話を簡素化する Go 言語のオープンソース ORM です。まず、GORM をインストールします:

go run main.go migrate
ログイン後にコピー

main.go に次のコードを追加します:

go run main.go migrate --migration-dir=./migrations up
ログイン後にコピー

データ モデルを定義します

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)
ログイン後にコピー

テーブルを作成して移行する

API を実行する前に、テーブルを作成し、データベース スキーマを移行する必要があります。ターミナルで次のコマンドを実行します:

func getTodos(c *gin.Context) {
    var todos []Todo
    if err := DB.Find(&todos).Error; err != nil {
        // 处理错误
    }
    c.JSON(200, todos)
}
ログイン後にコピー
これにより、移行スクリプトが出力されます。次のコマンドを実行して移行を適用します:
    rrreee
  • CRUD API これで、CRUD API ルートを定義できます:
  • rrreee
  • 各関数で、データベース操作に GORM を使用します。例: rrreee実践ケース
  • 以下は、構築した API を使用した実際のケースです:
フロントエンド:

React や Angular などの JavaScript フレームワークを使用してフロントエンドを作成します。

🎜🎜バックエンド: 🎜 Golang RESTful API を使用して、データベースからデータを取得および更新します。 🎜🎜🎜デプロイ: 🎜 API とフロントエンドを AWS や Heroku などのクラウド プラットフォームにデプロイします。 🎜🎜🎜このようにして、データベース内のタスクを管理できる完全に機能するアプリケーションが完成します。 🎜

以上がGolang を使用して RESTful API を構築し、ORM を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!