5

私たちのプロジェクトでは、REST を介してすべての書籍のリストを取得できます。

GET http://server/api/books/

特定の書籍は、次のように取得できます。

GET http://server/api/books/:id/

特定の本を削除するのは簡単です:

DELETE http://server/api/books/:id/

さて、私の質問に: 次の呼び出しの結果はどうなるでしょうか:

DELETE http://server/api/books/

明らかに、すべての本が削除されます。しかし、リソースbooks/も削除する必要がありますか? つまり、リクエストの後:

  1. GET /books/ は空のリストで 200 OK を返す必要がありますか? また
  2. GET /books/ は 404 not found を返す必要がありますか?

具体的な URI は後でなくなるという仕様によると、私は 2 番目のオプションを選びます。しかし、私の意見では、これは物事を複雑で非論理的にしています。本がないよりも空の本のリスト持っている方が理にかなっています。

どう思いますか?

4

3 に答える 3

2

気分が良くなる場合は、削除後に本のリソースを自動的に再作成するロジックがサーバーにあると想定してください。:-)

私は200OKと空のリストに行きます。それが本当に気に入らない場合は、という新しいリソースを作成してください /books/all

そして、やります

DELETE /Books/all
于 2011-07-16T16:28:57.193 に答える
0

しかし、これは物事を複雑で非論理的にします

どのように?リソースの削除をリクエストしています。そのリソースは削除されます。その結果、それはもう存在しません。

どちらかといえば、削除した後も存在し続けるのは混乱を招きます。

于 2011-07-16T15:04:13.423 に答える