2012-03-22 21 views
0

複雑な型をinパラメータとして取るWCF Restメソッド(webHttpBindingを使用)を公開したいと思います。過去の経験から、POST/WebInvokeを使用して、メソッドが挿入/更新または何も変更せずにデータを返すだけであっても、複雑なパラメータを渡すのが普通です。REST Get/PostStandards

私の質問は、データを返すだけの方法でPOSTを使用し、複雑なパラメータを渡すだけではRESTの「標準」を破ることです。そうであれば他の方法もあります。

注:WebGet/GET動詞を使用してparamをシリアル化してURLに渡すことは、URLサイズやその他の制約が限られているため、実行可能な解決策ではありません。

+0

私はクエリにこのような "複雑な"パラメータが必要なことを尋ねる必要があります... – cHao

+0

データベースからオブジェクトのリストを返す必要があります。複雑なパラメータはサブタイプ、配列、... –

答えて

0

はい。これは本当にRESTfulではありません。

動詞も意味があります。 POSTは、基本的には「このリソースの下に何かを追加する」という意味です。クエリを実行しているだけで、リソースに追加していない場合は、動詞を誤って使用しています。

クエリが非常に複雑であるため、設定するためにたくさんのものを渡す必要があります...それはおそらくそれ自体のリソースである可能性があります。あなたは、クエリを作成し、それにURLを与え、次にクエリやその結果を見るためのリンクを与えるPOSTを送ることができます。