[golang]fiber API10~Ambassador: LinkとStatsの実装~

こんにちは、KOUKIです。

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

前回は、キャッシュの更新処理を実装しました。

今回は、LinkとStatsの実装を行います。

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

前回

作るもの

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

エンドポイント
  • GET /api/ambassador/products/frontend
  • GET /api/ambassador/products/backend
  • POST /api/ambassador/links
  • GET /api/ambassador/stats
  • GET /api/ambassador/rankings

今回は、「/api/ambassador/links」、「/api/ambassador/stats」への処理を実装します。

Linkの作成

以前、Linkモデルを作成しました。

ご覧の通り、UserやProduct、Orderなどの情報を紐付ける構造体です。

この構造体を作成する処理を実装します。

ルートの追加

「/api/ambassador/links」へのルートを追加しましょう。

コントローラーの追加

コントローラーを追加します。

検証

以下のパラメーターで、検証を行いましょう。

  • URL: http://localhost:8000/api/ambassador/links
  • 形式: POST

OKですね。

統合情報の取得

次の情報を返却するAPIを実装します。

  • CODE — ユーザーID
  • COUNT — オーダー数
  • REVENUE — 合計金額

ルートの追加

「/api/ambassador/stats」へのルートを追加しましょう。

コントローラーの追加

コントローラーを追加します。

検証

以下のパラメーターで、検証を行いましょう。

  • URL: http://localhost:8000/api/ambassador/stats
  • 形式: GET

OKですね。

次回

次回は、Ranking APIとRedisのソート機能を実装しましょう。

Go言語まとめ

ソースコード

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

linkController.go

routes.go

コメントを残す