2

表示、作成、編集、または削除できるリソースを含む残りのシステムを指定しています。私は休息とhttpメソッドのセマンティクスを尊重しようとしています。

リソースがhttp://mydomain.org/oid_barで識別される場合、次のメソッドで管理できます: - PUT はこのリソースを作成または更新します - DELETE はこのリソースを削除します - GET はこのリソースを返します

しかし、まだ oid がわからない新しいリソースを作成する必要がある場合は、どうすればよいでしょうか? このケースは、オブジェクトをデータベースに追加し、主キーがデータベースによって自動生成される場合に非常に一般的です。私の場合、バックエンドはデータベースです。

次の空き oid を返し、その値をインクリメントするリソースhttp://mydomain.org/next_free_oidを使用したソリューションについて考えました。このリソースは POST リクエストにのみ応答します。返された oid を使用して、ターゲット URL に PUT 要求を送信できます。

別の解決策は、POST リクエストをhttp://mydomain.org/に送信することです。このリクエストは、生成された oid でリソースを作成し、oid を返します。

前のソリューションの変形は、 http://mydomain.org/create_objectに POST リクエストを送信することです。

3 番目の解決策は、私の好みの解決策です。しかし、URL をサービスとして使用するために HTTP/REST に準拠していますか?

すべてのコメントは大歓迎です。

よろしく、ミカエル

4

2 に答える 2

3

規約はhttp://mydomain.org/への POST です。

次に、ステータス コード 201 Created を返し、新しく作成されたリソースを指すように応答の場所ヘッダーを設定する必要があります。

自分をバックアップするためのリンクをいくつか見つけようとしています...

編集: 必要に応じて、新しく作成されたリソースを返すこともできますが、ロケーション ヘッダーを設定することをお勧めします。

木を見て木を見るのは難しいですが、次のリンクを試してください。

http://jcalcote.wordpress.com/2008/10/16/put-or-post-the-rest-of-the-story/

個人的には、RESTful Web Services Cookbook を入手することをお勧めします。非常にシンプルかつ簡単に説明されているからです。

于 2012-11-28T23:05:49.717 に答える
0

また、動詞を含む URI を作成しないでhttp://mydomain.org/create_objectください。URI は、「このアクションを実行するためにここにデータを送信する」ことを示す動詞ではなく、編集フォームなどの名詞を表す必要があります。動詞については、適切な HTTP メソッドを選択してください。[ RFC2616 ]

于 2012-11-29T11:20:33.493 に答える