gpt4 book ai didi

javascript - 主干 - 内置 REST 功能

转载 作者:行者123 更新时间:2023-11-30 12:20:58 24 4
gpt4 key购买 nike

我对 Backbone 的内置 REST 功能感到困惑。我的印象是,Backbone 模型在 model.save() 上会自动将 idAttribute 标识的值附加到 urlRoot 的末尾。但是我在网上看到很多例子,比如下面的例子,应用程序强制性地将 id 附加到 url。这是为什么?哪个更好?

一个使用 RequireJS 的例子:

  define(function(require) {
var Backbone = require('Backbone');

return Backbone.Model.extend({
urlRoot: 'http://rest-service.guides.spring.io/greeting',
url: function() {
return this.urlRoot + '?name=' + this.id;
}
});
});

最佳答案

Backbone 假定您在设计 REST API 时遵循了一些常见的 REST 实践。

例如,更新用户的 API 应该公开为:

PUT /users/:id

而不是

PUT /users?id=:id

当然,在某些极端情况下,您必须重写默认的 URL 函数,但一般来说,保持原样意味着您在设计 REST API 时遵循了最佳实践。

我能想到的一个需要重写的情况是当一个子资源由多个 ID 标识时:

PUT /apps/:appId/schedules/:scheduleId

那么 url 函数将是:

url: function () {
return this.urlRoot + '/' + this.appId + '/schedules/' + this.id
}

关于javascript - 主干 - 内置 REST 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31104410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com