3

RESTful な方法でコピーと貼り付けのサポートをどのように実装しますか?

書店のリソースがあるとしましょう。そして、すべての店の本

http://mydomain.com/rest/book-stores/1
http://mydomain.com/rest/book-stores/1/books/12

クライアントが本のコピー ペーストを別のストアに呼び出せるようにする必要があります。

以下を実装します。

PUT http://mydomain.com/rest/books/1/copy-paste

非常にRPCのようです。この操作を RESTful な方法でモデル化する方法について何か提案はありますか?

4

3 に答える 3

9

コピー = GET http://mydomain.com/book/1

貼り付け = PUT http://mydomain.com/book/2 または POST http://mydomain.com/book

于 2009-05-13T18:15:57.610 に答える
1

これは、リソースが階層システムを模倣するように編成されている場合にのみ問題になります。ファイルシステムのように。

私は非階層的なリソースを好みます。ファイルへの「パス」は、ファイルの単なるプロパティです。コピーして貼り付けるには、2 つのオプションがあります。

  1. 本当に別の「パス」参照が必要な場合は、「パス」プロパティに別のエントリを追加します。まったく同じファイルが両方の「フォルダー」の「中に」あります。

  2. ファイルの新しいバージョンが必要な場合は、その後変更を効果的にフォークし、別の「パス」プロパティで新しいリソース (別の URI) を作成します。

  3. 移動するには、「パス」プロパティを変更するだけです。

どうしても階層化が必要な場合は、ファイル システムがコピー アンド ペーストと移動を行う方法を模倣してください。

コピーは簡単です。コピーするリソースの GET。

新しいリソース、新しい URI を作成しているため、貼り付けるには POST を使用します。

移動する必要がある場合は、おそらく古いリソースを削除する必要があります。

必要に応じて、削除リクエストで場所を指定できます。これにより、サーバーは、移動されたリソースを探しているユーザーを元の場所にリダイレクトできます。

于 2009-07-09T14:24:08.123 に答える
0

ユーザーが PUT コマンドを実行してアクションを実行するようにします。

したがって、フォーム データ内の変数のようなものには、実行する正しいアクションが含まれています。

于 2009-05-13T18:07:19.480 に答える