SpringBoot/Kotlinを使用したBFF開発

SpringBoot & Kotlinを使用してBFF(Backends For Frontends)の実装サンプル
API内部で複数の外部APIをコールする(API-Gateway)

コード
GitHub: bff-sample

本編 基礎編

  1. Spring BootでREST-API用プロジェクト作成
  2. Controller作成
  3. ControllerのUnitTest作成
  4. Frontend向けのモデル追加
  5. Repository層で呼び出す外部APIのMockを簡易的にSpringBootで作る
  6. Repository層の作成
  7. Repository層のUnitTest作成
  8. Controllerの単体テストに下位レイヤーのMockを追加する方法
  9. 2つ目の外部APIを追加
  10. Service層の追加
  11. Service層のUnitTest作成
  12. プロパティファイルの追加(YAML形式)と読み込み
  13. アプリケーションログのファイル出力
  14. Infoログの出力
  15. 定数の追加
  16. 新規追加 POST APIの実装
  17. 新規追加 POSTのUnitTest
  18. 更新 PUTの実装
  19. 更新 PUTのUnitTest
  20. 削除 DELETEの実装
  21. 削除 DELETEのUnitTest

本編 応用編

  1. RestTemplateにTimeoutを設定する
  2. RestTemplateのHttpClientをApacheに変更する
  3. ConnectTimeout/ReadTimeoutのエラーハンドリング
  4. Spring-RetryでConnectTimeoutのリトライ処理を追加
  5. Spring-Retryの設定値をプロパティファイルから取得する
  6. サーバーエラー処理-共通-ネットワークエラー
  7. Whitelabel-Error対応

外部APIの実装

  1. Docker-ComposeでAPI用のMySQLを用意する

運用編

ハマった箇所

TIPS

参考

コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
little
15年以上プログラマーをしているエンジニアです。Kotlin, Java, Python, C++を使用したServerSideの開発に携わってきました。とりあえずやってみるスタイルで記事を更新していきます。