0

RESTful サービスのガイドラインに従って、リソースの読み取りには GET、新しいリソースの作成には POST、既存のリソースの削除には DELETE などを使用する必要があります。

しかし、たとえば OrderProcessing などの RESTFul Web サービスを開発しているとします。placeOrder(Order) メソッドでは、在庫、製品の詳細などのいくつかのテーブルを読み取り、注文や注文の詳細などのテーブルにいくつかの新しい行を挿入し、在庫レベルを下げるなどの更新を行う必要があります。次に、placeOrder( ) 方法。

非常に高いレベルで新しいリソース (Order) を作成しているので、POST を使用するのが正しい HTTP メソッドだと思いました。

しかし、一般に、同じメソッド内でデータの読み取り/作成/更新を行うメソッドには、どの動詞を使用する必要がありますか?

4

2 に答える 2

0

間違いなくPOST。明らかな理由でGETとDELETEを除外することができ、べき等操作にのみPUTを使用する必要があります。在庫を減らしているので、実行可能なオプションとしてPUTを安全に除外できます。

于 2013-02-26T02:35:51.247 に答える
0

ここでは POST が適切であるというあなたの考えに同意します。複数の操作を行っている場合でも、これを注文リソースの 1 回の作成と見なすことができます。他の操作については、サービスの消費者に公開していない内部の詳細と見なします。

編集 - これをさらに一歩進めます。これは、Order をリソースとして定義し、POST 本文にこのリソースの表現が含まれていることを前提としています。また、完全に RESTful であるために、POST の結果として新しい注文が作成された場合、HTTP 201 が適切な応答コードになります。詳細については、 http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlのセクション 9.5 を参照してください。

于 2013-02-26T02:22:05.097 に答える