RESTはリソースです。クエリのリソースは?データのセット?そのセットはどのようにして識別されますか?それはどのようにパラメータ化されていますか?これは、あなたがGET操作で使用するURLを決定する必要があります
GET /customers would retrieve all customers
GET /customers?q=<query> would retrieve all customers matching the query
EDIT:どのリソースの取得についてあるとしてクエリを考える
私にはそれほど明確ではない、次の(たとえば)一連の顧客である場合、私はすべての顧客の中で明確に定義されたサブセットについて不思議に思っていました。
GET /customers/state/MA Retrieve all customers in Massachusetts
GET /customers/country/UK All in the UK
GET /customers/country/UK/postalcode/001-234 All in that postal code in the UK
これらのリソースは、明確なリソースとして明確に識別され、クエリではありません。私は引き続きクエリ文字列を使用して任意の顧客セットを取得しますが、顧客の自然なパーティションがある場合は、URLスペースにその文字列を示すことができます。
GET操作は、冪等の操作のためのものであり、キャッシュを促進することを思い出してください。これらのクエリへの応答は、ある程度合理的なキャッシングを可能にするはずです(おそらく1日)。これにより、クライアント・マシンまたはプロキシ・サーバーは、結果セットを一定期間キャッシュして、サーバーのラウンドトリップを節約できます。
これはリソースのクエリについての考え方のようです。 – AwkwardCoder
それがうまくいかないかどうかをお知らせください。私はRESTのファンではありませんが、 "REST"の "R"を "リソース"と考えることは、それが私にとって意味をなさない唯一の方法です。 –
あなたはより多くのSOAPスタイルのサービスを好んでいますか? – AwkwardCoder