2012-06-27 15 views
8

私はRESTを初めて使用しています。私はgetメソッドをいつ使うべきか、postメソッドをいつ使うべきかを知りたい。私の文献調査の過程で私はこの知識を知りました。HTTPとRESTとの比較におけるGetメソッドとPostメソッドの違い

は、実際に私は、私はそれがdoesntのエンコードURLを取得読んで、HTTP GETとPOSTメソッドで検索するとき、ポストは

私が取得し、POSTメソッド休息を探し、私はそれを得る方法を取得するために使用されている読みURLをエンコードしサーバーとポストからのデータは、サーバーにデータを追加することです。

しかし、私はまた、HTTPを使用するための慣習に過ぎないことも読んでいます。

ここではいくつかのことが矛盾しているように感じます。 HTTPのメソッドは異なっていますか?

明確にしてください。

https://www.ibm.com/developerworks/webservices/library/ws-ful/

http://www.cs.tut.fi/~jkorpela/forms/methods.html

+0

GETとPOSTを同じ方法で使用できますか? – Arti

答えて

11

GETは、リソースを取得するために使用する必要があります。また、GETとPOSTメソッドを使用する際に上の任意の提案は、私は、この情報を取得した場所から

リソース歓迎されています。この操作は冪等でなければなりません。つまり、サーバー上の状態を変更すべきではありません。

サーバーに新しい情報を追加するには、POSTを使用する必要があります。これは通常、リソースの「コンテナ」を表すURL上で実行されます。 POSTは、このコンテナに新しいリソースを追加します。

PUTを使用して既存のリソースを更新する必要があります。

DELETEは明白です。

あなたは読書を楽しむかもしれないこの:http://tomayko.com/writings/rest-to-my-wife

+1

Nitpicking: "idempotent"は "状態を変更しない"という意味ではありません。 'DELETE'は状態を変更しますが、それは冪等です。 「状態を変化させない」は、「副作用なし」と適宜称される。 –

+0

ウィキペディア出典:Idempotenceは、数学とコンピュータサイエンスにおける特定の操作の特性であり、最初のアプリケーションを超えて結果を変更することなく複数回適用することができます。 [END QUOTE]この定義では、2回目の実行時にDELETEが失敗します。 –

+0

GETとPOSTを同じ方法で使用できますか? – Arti

0

はまだのよう注意を受けていない、そしておそらくあなたの混乱のいくつかの原因となっているあなたの質問の一部は、次のとおりです。「RESTはと慣例に過ぎませんHTTPを使用してください。これは、アプリケーションの状態を操作するためにHTTPを使用してRESTが何をしているかを記述する不正確な方法です。これは公式にHATEOAS-http://en.wikipedia.org/wiki/HATEOASとして知られており、RESTful Webサービスの概念の中心です。

関連する問題