Header 在 $resource 上设置未返回正确的 odata 响应
Header set on $resource not returning proper odata response
我正在尝试 return odata 为 "nometadata",如下所示:JSON Light for SharePoint
我在我的工厂里设置了我的 headers 如下:
appServices.factory('appItems', ['$resource', function ($resource) {
return $resource("/_api/web/lists/getbytitle('Todo Task List')/Items", {},
{
'query': { method: "GET", isArray: false },
'update': { method: 'PATCH' },
'headers': { Accept: 'application/json;odata=nometadata'}
}
);
}]);
但是,它没有 return nometadata 选项,而是默认为:
Key Value
Accept application/json, text/plain, */*
如何让它传入 nometadata 选项?
根据 $resource
的文档,headers object 应该放在一个动作中:
appServices.factory('appItems', ['$resource', function ($resource) {
return $resource("/_api/web/lists/getbytitle('Todo Task List')/Items", {},
{
'query': { method: "GET", isArray: false, headers: { 'Accept': 'application/json;odata=nometadata'} },
'update': { method: 'PATCH', headers: { 'Accept': 'application/json;odata=nometadata'} },
}
);
}]);
按照您的代码,headers
将成为您的资源的新操作,被称为:appItems.headers()
这不会 produce/do 您所期望的。
老实说,关于 headers:
应该是什么类型或如何为所有 $resource
操作全局设置 header,文档并不完全清楚,因此您可以如果 adding/overriding 操作变得乏味,请围绕 $http
编写自己的包装器。
This 答案显示另一个例子
我正在尝试 return odata 为 "nometadata",如下所示:JSON Light for SharePoint
我在我的工厂里设置了我的 headers 如下:
appServices.factory('appItems', ['$resource', function ($resource) {
return $resource("/_api/web/lists/getbytitle('Todo Task List')/Items", {},
{
'query': { method: "GET", isArray: false },
'update': { method: 'PATCH' },
'headers': { Accept: 'application/json;odata=nometadata'}
}
);
}]);
但是,它没有 return nometadata 选项,而是默认为:
Key Value
Accept application/json, text/plain, */*
如何让它传入 nometadata 选项?
根据 $resource
的文档,headers object 应该放在一个动作中:
appServices.factory('appItems', ['$resource', function ($resource) {
return $resource("/_api/web/lists/getbytitle('Todo Task List')/Items", {},
{
'query': { method: "GET", isArray: false, headers: { 'Accept': 'application/json;odata=nometadata'} },
'update': { method: 'PATCH', headers: { 'Accept': 'application/json;odata=nometadata'} },
}
);
}]);
按照您的代码,headers
将成为您的资源的新操作,被称为:appItems.headers()
这不会 produce/do 您所期望的。
老实说,关于 headers:
应该是什么类型或如何为所有 $resource
操作全局设置 header,文档并不完全清楚,因此您可以如果 adding/overriding 操作变得乏味,请围绕 $http
编写自己的包装器。
This 答案显示另一个例子