5

データベースからデータをインポートおよびエクスポートするための ASP.Net Web API 2 RESTful Web サービスに取り組んでいます。私のエクスポート方法では、クライアントにはさまざまな形式 (pdf、xml など) でデータをエクスポートするためのオプションがいくつかあります。クライアントがデータを提供する形式をサービスに通知するためのインターフェイスの最適な設計を決定しようとしています。

私が知る限り、私の 2 つの最良のオプションは、Accept ヘッダーをメディア タイプ文字列と共に使用するか、クライアントがクエリ文字列でフォーマット パラメータを提供できるメソッドにパラメータを追加することです。Accept ヘッダーを使用することを選択した場合、これにはカスタム メディア タイプ文字列の使用が含まれる場合があります。

Accept ヘッダーを使用すると、HTTP 標準と RESTful プラクティスに沿ったものになるように思えますが、クエリ文字列で format パラメーターを使用すると、サービス側とクライアントでの実装が容易になります。

これら 2 つの設計の長所と短所を説明できる人はいますか?

4

1 に答える 1

3

どちらのアプローチも、同じ結果を得る有効な方法です。REST は実装するための仕様ではないため、ここで得られる応答は、誰かが好む方法や REST の理解方法である可能性があります。

あなたの質問は、プログラマーからのこの質問に似ています。SE : Accept ヘッダーと拡張機能によるコンテンツ ネゴシエーション間のトレードオフ また、pdf、xml などには標準で認識される MIME タイプがあるため、カスタムのメディア タイプ文字列は必要ないと思います。

そうは言っても、レポートを GET する私の好みの方法は、?format=pdfクエリ文字列を使用することです。より簡単で、より保守しやすく、よりクリーンなものなどを使用してください。

于 2014-11-19T21:39:30.610 に答える