APIと画面を疎結合にする
業務で携わっているWEBアプリは内部APIを採用している。
しかし、APIが画面と密結合していて問題になっているので、その問題点と解決策をまとめる。
WEBアプリの構成
WEBサーバ:APIサーバにアクセスし、画面に必要な情報を取得して画面を表示する
APIサーバ:DBや外部システムにアクセスし、画面が要求する情報をWEBサーバに返す
※画面ごとにWEB/APIの機能(エンドポイント)がある感じ
APIと画面が密結合になる
APIが画面を意識し過ぎている
APIが画面を意識し過ぎて、 画面の構成に合わせたAPIレスポンスになっている。
そのため、以下の問題がある。
APIレスポンスをビューにアサインしている
そのため、以下の問題がある。
APIと画面を疎結合にする
APIレスポンスは画面を意識しすぎない
画面の構成に合わせたAPIレスポンスにしない。
画面用のモデルに変換する
画面の構成に合わせたモデルを用意し、APIレスポンスを変換する。
表示ロジックをビューから排除でき、APIレスポンス以外の情報も一つのモデルに統合できる。