6

簡単な質問:

モデルの新しいインスタンスを取得し、 model.save()URLをに設定してを発行すると/api/store/category、BackboneはPOSTを発行します。私の知る限り、この「PUTまたはPOST:The REST of the Story」ブログ投稿で言及されているように、PUTを使用する必要があります。

誰が正しいですか?BBまたはこの記事の著者?

4

1 に答える 1

13

バックボーンのドキュメントによると、新しいモデルを保存するとPOSTリクエストが発生し、既存のモデル(IDを持つ)を保存するとPUTリクエストが送信されます。

save model.save([attributes]、[options])
...
モデルがNewの場合、保存は「作成」(HTTP POST)になり、モデルがサーバーにすでに存在する場合、保存は「更新」になります。 "(HTTP PUT)。

また、Backboneが作成にPOSTを使用する必要があるかどうか疑問に思っている場合は、次を確認してください。

  1. RESTでのPUTとPOST
  2. ウィキペディアのRESTfulWebサービス

これらの記事に照らして、バックボーンのコンテキストでは、動詞は正しく使用されていると思います。

  • 新しいモデルを保存すると、システムが変更され、新しいURLが追加され、アクションはべき等ではなく、POSTである必要があります。
  • 既知のモデルを保存すると、特定のURLのリソースが置き換えられます。アクションはべき等であり、PUTで​​ある必要があります。
于 2012-06-13T10:39:51.760 に答える