Ember-Data 能否处理来自一个 JSON 负载的两个模型?
Can Ember-Data handle two models from one JSON payload?
我有 JSON 来自服务器,看起来像:
data: {
user: {
address: {
id: "id",
city: "city",
street: "street",
.......
}
name: "name",
......
}
authentication-token: {
token: "token",
id: "id"
}
}
想法是将这两个模型(用户、身份验证令牌)以相同的名称存储在 ember 存储中。当我从服务器获得上述响应时,模型用户已成功保存,但模型身份验证令牌根本没有保存到商店中。当我在将数据传递给序列化程序之前记录数据(在适配器中)时,我看到 JSON 具有 Ember-Data 期望的结构。不知道问题是Ember-data不能一次成功处理两个model,然后保存到对应的models,还是别的。想法?
现在 all makes sense to me. Of course, this was the problem in your 。无论如何,ember-data 的 RESTAdapter 不能处理这个。如果您请求单一资源 user
,它最多希望该用户作为单一答案。任何其他可能是 "side-loaded" 的资源都必须是一个数组。请求的单数 user
可以是 user
键下的记录,也可以是 users
键下数组中的第一个条目。其他所有内容(元数据除外)都必须是复数。
如果您请求的是复数资源 users
,主要响应必须在 users
键下,任何不属于响应的旁加载用户都带有 [=17] =] 在 _users
键下。
对于您的示例,所有这些都意味着您的 json 必须采用如下格式:
data: {
user: {
address: {
id: "id",
city: "city",
street: "street",
.......
}
name: "name",
......
}
authentication-tokens: [{
token: "token",
id: "id"
}]
}
如果您无法更改服务器,则必须配置 RESTAdapter 以通过序列化程序的 normalize 规范化 JSON 数据。
我有 JSON 来自服务器,看起来像:
data: {
user: {
address: {
id: "id",
city: "city",
street: "street",
.......
}
name: "name",
......
}
authentication-token: {
token: "token",
id: "id"
}
}
想法是将这两个模型(用户、身份验证令牌)以相同的名称存储在 ember 存储中。当我从服务器获得上述响应时,模型用户已成功保存,但模型身份验证令牌根本没有保存到商店中。当我在将数据传递给序列化程序之前记录数据(在适配器中)时,我看到 JSON 具有 Ember-Data 期望的结构。不知道问题是Ember-data不能一次成功处理两个model,然后保存到对应的models,还是别的。想法?
现在 user
,它最多希望该用户作为单一答案。任何其他可能是 "side-loaded" 的资源都必须是一个数组。请求的单数 user
可以是 user
键下的记录,也可以是 users
键下数组中的第一个条目。其他所有内容(元数据除外)都必须是复数。
如果您请求的是复数资源 users
,主要响应必须在 users
键下,任何不属于响应的旁加载用户都带有 [=17] =] 在 _users
键下。
对于您的示例,所有这些都意味着您的 json 必须采用如下格式:
data: {
user: {
address: {
id: "id",
city: "city",
street: "street",
.......
}
name: "name",
......
}
authentication-tokens: [{
token: "token",
id: "id"
}]
}
如果您无法更改服务器,则必须配置 RESTAdapter 以通过序列化程序的 normalize 规范化 JSON 数据。