このチュートリアルでは、Golang、Gin フレームワーク、PostgreSQL を使用して単純な CRUD (作成、読み取り、更新、削除) アプリケーションを構築する方法を示します。 PostgreSQL データベースに保存されているデータを管理する方法を学びます。
目次
1.はじめに
このガイドでは、軽量の Golang Web フレームワークである Pin を利用して API エンドポイントを作成します。 アプリケーションは、pgx ドライバーを介して PostgreSQL データベースと対話します。 Golang と REST API に関する基本的な知識があることが前提となります。
2.前提条件
始める前に、次のものが揃っていることを確認してください。
3.プロジェクト構造
プロジェクトを次のように整理します:
<code>crud-app/ ├── main.go ├── config/ │ └── database.go ├── controllers/ │ └── item.go ├── models/ │ └── item.go ├── routes/ │ └── routes.go ├── go.mod └── go.sum </code>
4.プロジェクトのセットアップ
プロジェクト ディレクトリを作成し、Go モジュールを初期化します。
<code class="language-bash">mkdir crud-app cd crud-app go mod init github.com/yourusername/crud-app // Replace with your GitHub username</code>
必要なパッケージをインストールします:
<code class="language-bash">go get github.com/gin-gonic/gin go get github.com/jackc/pgx/v5</code>
5.データベースとテーブルの作成
PostgreSQL データベースを作成します (例: crud_app
)。
データベースに接続し、items
テーブルを作成します:
<code class="language-sql">CREATE DATABASE crud_app; \c crud_app CREATE TABLE items ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, description TEXT, price NUMERIC(10, 2) );</code>
6. CRUD ハンドラーの実装
6.1 データベース接続 (config/database.go):
<code class="language-go">package config import ( "database/sql" "fmt" "log" _ "github.com/jackc/pgx/v5/stdlib" ) var DB *sql.DB func ConnectDatabase() { // ... (Connection string with your credentials) ... }</code>
6.2 モデル定義 (models/item.go):
<code class="language-go">package models type Item struct { ID int `json:"id"` Name string `json:"name"` Description string `json:"description"` Price float64 `json:"price"` }</code>
6.3 CRUD ハンドラー (controllers/item.go): (例: Create)
<code class="language-go">package controllers import ( "crud-app/config" "crud-app/models" "github.com/gin-gonic/gin" "net/http" ) func CreateItem(c *gin.Context) { // ... (Implementation for creating a new item) ... }</code>
アイテムの読み取り、更新、削除用に同様の関数を実装します。
6.4 ルート定義 (routes/routes.go):
<code class="language-go">package routes import ( "crud-app/controllers" "github.com/gin-gonic/gin" ) func SetupRoutes(router *gin.Engine) { router.POST("/items", controllers.CreateItem) // ... (Add routes for other CRUD operations) ... }</code>
6.5 メインアプリケーション (main.go):
<code class="language-go">package main import ( "crud-app/config" "crud-app/routes" "github.com/gin-gonic/gin" ) func main() { config.ConnectDatabase() r := gin.Default() routes.SetupRoutes(r) r.Run(":8080") }</code>
7. API テスト
アプリケーション (go run main.go
) を実行し、Postman または同様のツールを使用してエンドポイントをテストします。
8.結論
基本的な CRUD アプリケーションが正常に作成されました。不足している CRUD ハンドラー実装を忘れずに入力し、データベース接続文字列を環境に合わせて調整してください。 この基盤は、より高度な機能を追加して拡張できます。
以上がGolang、Gin、PostgreSQL を使用して CRUD アプリを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。