0

Django(1.3)を使用していますが、C#で作成されたプログラムと通信するためのAPIを準備する必要があります。したがって、C#はXMLに非常に適しているため、入力および出力形式としてXMLを選択します。

それを超えて、私はdjangoでうまく機能するAPIについて懸念を持っており、私のニーズに対応するのに十分です。tasty-piedjango-pistonなどのAPIについて調査しました。私の懸念は次のとおりです。

  • ユーザーレコードは保持しませんUserが、他のモデルには保持します。私の知る限り、上記のAPIは自己定義の認証と承認をサポートしています。しかし、すべてを締め出すことが可能であるならば、風邪はもっと見つけませんUserか?

  • ドキュメントでは、すべての例は、定義されたモデルでレコードを選択するか、新しいレコードを作成することに基づいています。しかし、私の場合、さまざまなモデルでデータをチェックする必要があります(したがって、入力データを単一のモデルから導出することはできません)。同様に、出力もさまざまなモデルのデータで作成されます。簡単に言えば、私の入力と出力は単純なモデルに制限されていません。(入力データの一部を)処理して、XML形式でカスタム出力データを作成する必要があります。

その2つの基本的な質問について、Django-pistonやtasty-pieなどのAPIが私に適しているのか、それともXMLリクエスト/応答を読み取って生成でき、djangoでうまく機能するアプリケーションが本当に必要なのか疑問に思います。

私が必要としているのは、次のようなdjangoアプリケーションです。

  • XML形式の応答を生成できます(リモートC#プログラムと通信するため)
  • XML要求(リモートc#プログラムから送信される)または単純なURL要求(djangoビューなどですが、XML出力を生成します)を処理できます。
  • django認証を使用せず、自己定義Userモデルによるカスタム認証を使用します
4

1 に答える 1

0

django-piston と Tastypie はどちらも、記述したカスタム データ「フォーマット」を定義できます。ピストン (およびおそらくtastypie) は、モデルを API エンドポイントとして簡単にモデル化できる便利なメソッドと構造も提供します。ただし、モデルに結び付けることは必須ではありません。基本的に辞書を作成し、それを返し、フォーマッターに辞書を json または xml 応答に変換する作業を任せます。

どちらのライブラリもニーズに合っていると確信しています。ただし、JSON を使用することをお勧めします。JSON は API に非常に広く使用されており、聞き取りが減り、肉眼で読みやすいからです。C# は JSON を問題なく処理します。

于 2012-05-28T12:35:24.830 に答える