[golang]fiber API8~Admin: ModelのEmbeddedとProductデータ作成~

こんにちは、KOUKIです。

GolangのWebフレームワークであるfiberを使ってAPIを開発しています。

前回は、Products APIを実装しました。

今回は、ModelのEmbeddedとProductデータの作成プログラムを実装します。

尚、この記事に出てくるソースコードは、Udemyの「React, NextJS and Golang: A Rapid Guide – Advanced」コースを参考にしています。解釈は私が勝手に付けているので、本物をみたい場合は受講をお勧めします!

前回

事前準備

フォルダ/ファイル作成

作るもの

Admin機能を作りたいと思います。エンドポイントは、次の通りです。

エンドポイント
  • GET/POST /api/admin/products
  • GET/PUT/DELETE /api/admin/products/{product_id}
  • GET /api/admin/users/{user_id}/links
  • GET /api/admin/orders
  • GET /api/admin/ambassadors

ModelのEmbedded

GoのStructは、共通箇所を抜き出すことができます。

抜き出したStructは、他のStructに組み込む(Embedded)ことが可能です。

※ ProductのPriceですが、string -> flost64に直しました(間違えてました…)。

この変更で、コントローラーの処理でいくつか修正する箇所があります。

Productsデータの作成

以前、Userデータの作成プログラムを実装しましたが、そのProductバージョンを実装します。

Makefileに以下のコマンドを追加します。

プログラムを実行してみましょう。

OKですね。DBも確認します。

問題ないですね。

次回

次回は、Link APIを実装しましょう。

Go言語まとめ

ソースコード

ここまでのソースコードを以下に記載します。

model.go

product.go

user.go

productController.go

auathController.go

populateProducts.go

Makefile

コメントを残す