{
"$type": "site.standard.document",
"canonicalUrl": "https://blog.nove-b.dev//posts/split-main-file-responsibilities-golang-webapi",
"path": "/posts/split-main-file-responsibilities-golang-webapi",
"publishedAt": "2023-12-05T00:00:00.000Z",
"site": "at://did:plc:2atly2y5kfyjcj5zap6pv4wd/site.standard.publication/3mmxeqr2tcb2k",
"tags": [
"api",
"db",
"リファクタリング"
],
"textContent": "Go LangでWebAPIを作成するために、GolangでエンドポイントにアクセスしDBからデータを取得するでデータ取得の処理は確認できた。\n\nリファクタリング\n\n次に現状、main.goにすべての記述をしていたが、それぞれ簡単に責務ごとにフォルダを分けることにした。\n\n分け方は、下記の通り。\n\ndb フォルダ:\n\n- データベース関連の処理:\n db フォルダは主にデータベースとのやり取りに関するコードを含みます。\n- データベースの初期化:\n db.go ファイルではデータベースの初期化と接続に関するコードがあります。\n- モデルの定義: データベースのテーブルに対応するモデルを定義します(例:\n db.Model)。\n\nhandlers フォルダ:\n\n- HTTP ハンドラとリクエスト処理:\n handlers フォルダは主に HTTP リクエストを処理し、それに対するレスポンスを生成するコードを含みます。\n- ルーティング: リクエストのルーティングやエンドポイントの定義が handlers.go にあります。\n- 特定の機能の処理: 例えば、user_handler.go ではユーザー関連の処理が定義されています。\n\nmain.go:\n\n- プログラムのエントリーポイントである main.go には、アプリケーションの起動や初期化といった主要な機能\n\nこれで分かりやすくなった。\n\nhandlers フォルダを詳細に\n\nFetchUsersもついでに分けることにする。\n\nこれでそれぞれ管理しやすくなった。",
"title": "Go LangでWebAPIを作成するために、GolangでDBのデータを取得するmainファイルをそれぞれの責務に分割する"
}