Go LangでWebAPIを作成するために、GolangでDBのデータを取得するmainファイルをそれぞれの責務に分割する
Go LangでWebAPIを作成するために、GolangでエンドポイントにアクセスしDBからデータを取得するでデータ取得の処理は確認できた。 リファクタリング 次に現状、main.goにすべての記述をしていたが、それぞれ簡単に責務ごとにフォルダを分けることにした。 分け方は、下記の通り。 db フォルダ: データベース関連の処理: db フォルダは主にデータベースとのやり取りに関するコードを含みます。 データベースの初期化: db.go ファイルではデータベースの初期化と接続に関するコードがあります。 モデルの定義: データベースのテーブルに対応するモデルを定義します(例: db.Model)。 // db/db.go package db import ( "fmt" "os" "gorm.io/driver/mysql" "gorm.io/gorm" ) var DB *gorm.DB type Model struct { gorm.Model } func InitDB() { dsn := os.Getenv("DB_CONNECTION_STRING") if dsn == "" { fmt.Println("DB_CONNECTION_STRING 環境変数が設定されていません") os.Exit(1) } var err error DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { fmt.Printf("データベースへの接続に失敗しました: %v\n", err) os.Exit(1) } fmt.Println("データベースに接続しました") } handlers フォルダ: HTTP ハンドラとリクエスト処理: handlers フォルダは主に HTTP リクエストを処理し、それに対するレスポンスを生成するコードを含みます。 ルーティング: リクエストのルーティングやエンドポイントの定義が handlers....