【发布时间】:2013-04-14 04:13:32
【问题描述】:
我想知道是否有任何隐藏在 Angular 中或被某些 3rd-party 库公开的功能来轻松创建符合 HATEOAS 的 Restful 客户端。
在后端,我使用 Spring Data/REST 来生成 HATEOAS JSON API。 但是,消费它是另一回事。
例如,我有这 3 个实体:
- 公司
{name, address} - 员工
{firstName, lastName, employer[Company]} - 活动
{rate, day, employee[Employee], client[Company]}
并请求一个活动(模型中最复杂的实体)会产生如下内容:
{
links: [],
content: [{
rate: 456,
day: 1366754400000,
links: [{
rel: "self",
href: "http://localhost:8080/api/activities/1"
},
{
rel: "activities.activity.client",
href: "http://localhost:8080/api/activities/1/client"
},
{
rel: "activities.activity.employee",
href: "http://localhost:8080/api/activities/1/employee"
}]
}]
}
我的 API 以 REST(由链接标识的资源)的形式进行讨论。
例如,一个 Activity 有一个 Employee。我真正想要使用的是:{rate: 456, day: 1366754400000, employee: {firstName:"xxx", lastName:"xxx" ...}}。
但是,正如您在第一个输出中看到的那样,我的 Activity 只包含一个到员工的链接,而不是它的数据。 Angular 或第 3 方库中是否有任何东西可以解析这些链接并嵌入结果数据?
对此有何意见?
提前致谢!
【问题讨论】:
-
any features hidden in Angular...您尝试过哪些功能无法满足您的需求?在 Angular 中有多种方式来呈现您的数据。真的不清楚你的问题是什么。你的最后一句话很难理解。请详细说明 -
嗨,我编辑了最后一句,希望它更清楚。我的基本意思是:在客户端,我不想使用链接,而是直接使用数据。
-
创建一个设置链接的服务,这很简单。你知道如何创建服务吗?那么你就知道如何在 json 文件中搜索链接并根据链接请求某些内容。这就像从服务加载配置文件一样。配置可用后,只需正确设置服务即可。
-
创建一个 Angular 服务,是的,我可以做到。但我不确定如何有效地实现跟踪链接并解决它们的逻辑。
-
你控制 REST 吗?如果是这样,为什么它在请求员工时输出链接而不是数据。否则,您将不得不向该 url 发出请求以获取数据。仍然不是很清楚是什么问题。解释不是很准确
标签: rest angularjs hateoas spring-data-rest