Ember.js 如何在没有关系id的情况下将关系序列化为JSON-API';s
我连接到的API的响应格式没有使用JSON-API,因此我必须序列化我的Ember应用程序的响应 我遇到的问题是,API的响应如下所示:Ember.js 如何在没有关系id的情况下将关系序列化为JSON-API';s,ember.js,ember-data,json-api,Ember.js,Ember Data,Json Api,我连接到的API的响应格式没有使用JSON-API,因此我必须序列化我的Ember应用程序的响应 我遇到的问题是,API的响应如下所示: { @type: "application/x.app-name.nurse-collection+json", @type.item: "application/x.app-name.nurse+json", @type.collection: "application/x.app-name.nurse-collection+json
{
@type: "application/x.app-name.nurse-collection+json",
@type.item: "application/x.app-name.nurse+json",
@type.collection: "application/x.app-name.nurse-collection+json",
@href: "http://192.168.33.10:3000/api/nurses{?includePatients}",
@item: "http://192.168.33.10:3000/api/nurses/{id}",
items: [
{
@type: "application/x.app-name.nurse+json",
@type.item: "application/x.app-name.nurse+json",
@type.collection: "application/x.app-name.nurse-collection+json",
@href: "http://192.168.33.10:3000/api/nurses/1{?includePatients}",
id: 1,
Nurse: "Maria Holmes",
NurseTelephoneNo: "123 4567",
NurseMobileNo: "0123345566",
Email: "someone@example.com",
Patients: {
@type: "application/x.app-name.patient-collection+json",
@href: "http://192.168.33.10:3000/api/nurses/1/patients{?name,gender,includeNurse,includeEvents,includeReferrals,includeReviews,includePanels,includeRetrospectives,includePhbs,includeDisputeStage2s,includeDisputeResolutionPanels,includeEthnicity,includeFirstLanguage,includeMaritalStatus,includeReligion,includeSecurityLevel,includeSexualOrientation,includeWhichReview}",
@rel: "http://192.168.33.10:3000/api/nurses/1/patients{?name,gender,includeNurse,includeEvents,includeReferrals,includeReviews,includePanels,includeRetrospectives,includePhbs,includeDisputeStage2s,includeDisputeResolutionPanels,includeEthnicity,includeFirstLanguage,includeMaritalStatus,includeReligion,includeSecurityLevel,includeSexualOrientation,includeWhichReview}"
}
},
{
@type: "application/x.app-name.nurse+json",
@type.item: "application/x.app-name.nurse+json",
@type.collection: "application/x.app-name.nurse-collection+json",
@href: "http://192.168.33.10:3000/api/nurses/2{?includePatients}",
id: 2,
Nurse: "Julie Smart",
NurseTelephoneNo: "543 1234",
NurseMobileNo: null,
Email: "someone@example.com",
Patients: {
@type: "application/x.app-name.patient-collection+json",
@href: "http://192.168.33.10:3000/api/nurses/2/patients{?name,gender,includeNurse,includeEvents,includeReferrals,includeReviews,includePanels,includeRetrospectives,includePhbs,includeDisputeStage2s,includeDisputeResolutionPanels,includeEthnicity,includeFirstLanguage,includeMaritalStatus,includeReligion,includeSecurityLevel,includeSexualOrientation,includeWhichReview}",
@rel: "http://192.168.33.10:3000/api/nurses/2/patients{?name,gender,includeNurse,includeEvents,includeReferrals,includeReviews,includePanels,includeRetrospectives,includePhbs,includeDisputeStage2s,includeDisputeResolutionPanels,includeEthnicity,includeFirstLanguage,includeMaritalStatus,includeReligion,includeSecurityLevel,includeSexualOrientation,includeWhichReview}"
}
},
...
]
}
因此,在本例中,患者
可以是一个集合,但在到达该端点之前,我没有hasMany关系的id
我想知道是否有一种方法可以以符合JSON-API的方式对其进行序列化,但一旦我的应用程序决定转到
患者
端点,我就可以异步加载关系数据。我将编写一个适合此响应类型的自定义序列化程序,而不是将其转换为JSON-API规范
这里似乎没有关于患者记录的任何信息(即ID列表),因此在这里忽略它,除非您想为hasMany设置链接
属性
异步加载关系数据可以很好地处理余烬数据。当您获取一组患者
记录并将其添加到存储时,只要加载的记录都有护士id
,就可以使用护士.get('patients')