2012-04-19 13 views
4

簡単な例として、サイト内にゲストブックを作成し、APIを使用して作成機能と読み取り機能に外部アクセスを許可するとします。更新と削除は内部でのみ使用する必要があるため、APIには含まれません。APIデザイン:内部機能を外部機能と分離または結合しますか?

もっと良い方法はありますか?

  • CRUD機能全体をAPIで利用可能にし、パブリックアクセスを「更新」と「削除」に制限します。したがって、あなた自身もアプリのすべての内部動作にAPIを使用します。

  • すべての内部動作についてAPIなしで内部CRUD機能を作成し、次に作成と読み取り専用のAPIを個別に作成します。基本的に、これはCreateとReadの2つの方法を提供します。

  • 内部動作のためのAPIなしで内部更新および削除機能を作成し、作成および読み取り専用のAPIを作成します。内部動作にCreateおよびRead関数を使用する必要がある場合は、APIを使用する必要があります。

一般的にベストプラクティスは何ですか?

答えて

3

私は最初のオプションが好きです。懸念の分離と適切なツールを正しい状況で使用する明確な例があります。

APIにCRUDアプローチを使用することで、一貫性と整合性が得られます。より一貫性のあるデザインで、コードの重複が少なく、進化が容易になります。セキュリティ面は、APIを強化するアプリケーションの内部または外部で実装できます。外部オプションの場合、たとえば、ファイアウォールのような3-Dパーティのソフトウェアやハードウェアソリューションを使用できます。

関連する問題