Backbone.save POST instead of PUT

后端 未结 1 936
长情又很酷
长情又很酷 2021-01-18 07:13

just a short question:

Having the new instance of a model and issuing a model.save() with URL set to /api/store/category, Backbone issues a

相关标签:
1条回答
  • 2021-01-18 07:45

    According to Backbone documentation, saving a new model will result in a POST request, and saving an existing model (having an id) will emit a PUT request.

    save model.save([attributes], [options])
    ...
    If the model isNew, the save will be a "create" (HTTP POST), if the model already exists on the server, the save will be an "update" (HTTP PUT).

    And if you are wondering if Backbone should use a POST for creation, check

    1. PUT vs POST in REST
    2. RESTful web services on Wikipedia

    In the light of these articles, I'd say that, in the context of Backbone, the verbs are correctly used:

    • saving a new model causes a change in the system, a new URL is added, the action is not idempotent, it should be a POST,
    • saving a known model replaces a resource at a given URL, the action is idempotent, it should be a PUT.
    0 讨论(0)
提交回复
热议问题