.Net MVC4 Web APIを使用して(うまくいけば)RESTfulAPIを実装しています。いくつかのパラメーターをシステムに渡して、システムに何らかのアクションを実行させてから、結果としてオブジェクトのリストを返す必要があります。具体的には、2つの日付を渡し、それらの間にあるレコードを返します。また、後続の呼び出しがシステムで再処理されないように、返されたレコードを追跡しています。
私はいくつかのアプローチを検討しました:
パラメータを1つのJSON文字列にシリアル化し、APIで分離します。 http://forums.asp.net/t/1807316.aspx/1
クエリ文字列でパラメータを渡します。
複数のクエリパラメータをRESTfulAPIに渡すための最良の方法は何ですか?ルート内のパラメーターの定義:api / controller / date1 / date2
本質的にパラメータを使用してオブジェクトを渡すことができるPOSTを使用します。
Web API(現在)がODATAをサポートしているので、ODATAを調査しています。私はまだこれをあまり使っていないので、あまり詳しくありません。
適切なRESTプラクティスは、データがプルされるタイミングを示しているようです。GETを使用する必要があります。ただし、GETも無効である必要があり(副作用は発生しません)、APIシステムでレコードをマークしているため、特定の実装が違反しているのではないかと思います。したがって、副作用が発生しています。
また、変数パラメーターをサポートするという質問にもつながりました。入力パラメータリストが変更された場合、それが頻繁に発生する場合は、選択肢3のルートを再定義する必要があるのは面倒です。そして、パラメータが実行時に定義された場合はどうなるでしょうか...
いずれにせよ、私の特定の実装では、(もしあれば)どの選択が最良と思われますか?