在使用 Restangular 将项目添加到集合后,我正在尝试扩展从后端服务获得的元素上的外键字段。
该服务使用元素响应我的 POST,包括url
链接到相关对象的字段,并且我已经为这些对象提供了服务。
响应如下所示:
{
"url": "http://api.example.com/resources/6/",
"name": "Harry",
"role": "http://api.example.com/roles/1/",
}
我想将该role
领域扩展到以下内容:
{
"url": "http://api.example.com/resources/6/",
"name": "Harry",
"role": "Administrator",
}
到目前为止,我有以下内容:
Configurer.setResponseInterceptor(function(data, operation, what, url, response, deferred) {
if ((operation == 'post' || operation == 'put') && what == 'resources' && 'role' in data && data.role.substr(0,4) == 'http') {
console.log('Role URL instead of name -- change this');
}
return data;
});
理想情况下,我想调用包装 Restangular 的现有服务;我需要注射器吗?或者,还有更好的方法?