Pet*_*ete 12 rest hateoas backbone.js
我已经开始尝试使用Backbone.js,并对Backbone.Model上url属性的文档文档感到震惊.
特别是,我正在构建一个使用HATEOAS/hypermedia来驱动客户端的REST API.
我可以看到Backbone为集合中的项目构建URL本身的默认行为的有用性,但对于我的情况,我更倾向于使用已解析的数据构建模型URL.
有没有人在Backbone上扩展/构建它来做到这一点?也许建立在像HAL这样的"标准"上?
编辑:
为了澄清,让我说我有以下内容:
获取/订单>>
[
{
"_links": {
"self": "/orders/123"
}
"name": "Order #123",
"date": "2012/02/23"
},
{
"_links": {
"self": "/orders/6666"
}
"name": "Order #666",
"date": "2012/03/01"
},
]
Run Code Online (Sandbox Code Playgroud)
我有一个订单模型,如:
var Order = Backbone.Model.extend({
});
Run Code Online (Sandbox Code Playgroud)
我希望该url
属性能够自动退出HAL中的"self"引用.我认为创建一个新的基础模型(未经测试):
var HalModel = Backbone.Model.extend({
url: function() {
return get("_links").self;
},
});
Run Code Online (Sandbox Code Playgroud)
思考?
感谢@Pete 的澄清。
我想我明白你的建议,并且我认为它可行。但是,在您的示例中,您首先必须知道/Orders
url,然后才能获取订单。如果你重新设计你的 json 来拥有一个id
属性,你就会非常接近骨干网的默认实现。
现在,如果您只想使用通用模型或基本模型(例如HALModel
)并用数据引导它,那么您的方法可能很有用并且绝对可行。但是,我会考虑重写解析来提取 url 并将其设置在模型上:
parse: function(response) {
this.url = response._links.self;
delete response._links;
return response;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3244 次 |
最近记录: |