環境
AngularJS を使用し、REST API をバックエンドとして使用して、単一ページの Web アプリを構築しています。
rest バックエンドには次のサービスがあります (簡略化):
- /accounts/:id -- アカウントを管理します
- /transactions/:id -- アカウントに関連するトランザクションを管理します
- /sms/:id -- SMS の送信と送信済み SMS のリストを管理します
問題
当座預金残高へのSMS送信を調整したいときに問題が発生します。
REST の哲学を維持しながら、口座残高の検証を実装する方法は?
代替ソリューション
私の見方では、2つの選択肢があります。
- サーバー側: SMS ルートは、SMS 送信要求 (POST /sms) のアカウントと残高のチェックを処理します
- クライアント側: コントローラーは最初にアカウントの残高を要求し、残高がある場合にのみ SMS ルートを呼び出します。
サーバー側の長所と短所:
- 長所: 口座残高のチェックは Web アプリに対して透過的です。クライアント側で口座残高の検証がないということは、ハッキングの可能性がないことを意味します (?)
- 短所: SMS ルートが残高チェックにも関与することを意味します。
クライアント側の長所と短所:
- 長所: REST API を直交に保つ
- 短所: 検証ロジックをクライアントに移動すると、ハッキングされやすくなります
何かご意見は?