0

私は、非常に柔軟でモジュール式であり、将来的に大きく成長するはずの Web プロジェクトを開始しています。他の開発者に API を提供することを計画しているので、すべてのメソッドを API として実装し、それらをリモートおよび内部で使用する機能を提供するのは良い考えかもしれないと考え始めました。

たとえば、すべての登録済みユーザーを抽出したいとします。したがって、get_all_users のような API でメソッドを設計します。これは、REST または内部呼び出しを介して利用できる可能性があります。問題は、内部呼び出しの速度、コードの再利用、ユーザー権限のチェック (API アクセスの秘密鍵など) も考慮する必要があるため、アクセスを内部使用とリモート使用から区別する方法がわからないことです。ベストプラクティスは何ですか? そのような API を整理するには?

4

2 に答える 2

2

API をビルドするには、TastypieまたはPistonを使用します。これらを使用すると、「リソース」(基本的にはビューの API バージョン) を記述できます。httpresponses を返す代わりに、ピストン/タスクタイプが json、xml、yaml、または好みのデータ言語に変換するオブジェクトを返すだけです。

アクセスの保護: 必要に応じて @login_required または @staff_member_required デコレーターを使用して機密情報を含むリソースを装飾することを検討してください。

さらに一歩進んで、staff ユーザーが https を使用していることを確認するデコレーターを作成することもできます (一方、通常のユーザーには任意の接続タイプの使用を許可する場合があります)。

于 2012-08-10T13:39:58.843 に答える
0

まだ検討していない場合は、Tastypieを使用して django で API をセットアップすることをお勧めします。内部での使用とリモートでの使用を区別するために、単に別の URL スキームを設計することができます。

于 2012-08-10T08:33:34.163 に答える