gpt4 book ai didi

rest - 使用 HATEOAS 和 Backbone.js

转载 作者:行者123 更新时间:2023-12-04 00:50:49 26 4
gpt4 key购买 nike

我已经开始尝试使用 Backbone.js,并被 url 的文档所震惊。 Backbone.Model 上的属性。

特别是,我正在构建一个使用 HATEOAS/超媒体来驱动客户端的 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"
},
]

我有一个订单模型,如:
var Order = Backbone.Model.extend({
});

我要 url要自动从 HAL 中的“self”引用中拉出的属性。我认为创建一个新的基本模型(未测试):
var HalModel = Backbone.Model.extend({
url: function() {
return get("_links").self;
},
});

想法?

最佳答案

感谢@Pete 的澄清。

我想我明白你的提议,我想它可以奏效。但是,在您的示例中,您首先必须知道 /Orders url,然后才能获得订单。如果你修改你的 json 以获得一个 id属性,您将非常接近主干的默认实现。

现在,如果您只想使用通用模型或基本模型(例如 HALModel )并使用数据引导它,那么您的方法可能很有用,而且绝对可行。但是,我会考虑覆盖 parse拉出网址并将其设置在模型上:

parse: function(response) {
this.url = response._links.self;
delete response._links;
return response;
}

关于rest - 使用 HATEOAS 和 Backbone.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9520275/

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