{
  "$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ファイルをそれぞれの責務に分割する"
}