使用 backbonejs 的非常规 api 请求(例如通过电子邮件获取)
Nonconventional api requests with backbonejs (such as get by email)
我正在构建一个 backbonejs 客户端,但是为了填充模型,我不知道要从服务器请求的 ID。相反,我只有电子邮件地址属性。
API 有一个像 v1/people/:email_address
这样的端点,我想用它来填充我的模型。
这可能吗?
当然可以。假设电子邮件地址是唯一的,您可以简单地将其定义为模型的唯一标识属性
var People = Backbone.Model.extend({
idAttribute: "email_address"
});
您还可以定义一个 url
方法来计算模型的 URL。
var People = Backbone.Model.extend({
url: function() {
return 'v1/people/:' + this.get('email_address')
}
});
如果您使用集合而不是单个模型来获取数据,则可以对集合执行相同的操作。
我正在构建一个 backbonejs 客户端,但是为了填充模型,我不知道要从服务器请求的 ID。相反,我只有电子邮件地址属性。
API 有一个像 v1/people/:email_address
这样的端点,我想用它来填充我的模型。
这可能吗?
当然可以。假设电子邮件地址是唯一的,您可以简单地将其定义为模型的唯一标识属性
var People = Backbone.Model.extend({
idAttribute: "email_address"
});
您还可以定义一个 url
方法来计算模型的 URL。
var People = Backbone.Model.extend({
url: function() {
return 'v1/people/:' + this.get('email_address')
}
});
如果您使用集合而不是单个模型来获取数据,则可以对集合执行相同的操作。