我正在使用接受以下请求的API
POST /myulrpath/params?x=2,3
Host: somehost:20200
Content-Type: application/json
请求中不允许有效负载,但仍需要正确的内容/类型。我尝试使用angular $ resource来解决这个问题,但内容类型始终设置为允许所有" * / *"一旦请求发送。任何人都知道是否可以使用$ resource修复此问题,或者我是否必须回退到$ http?
我的两种不同方法(无效)
var url = utils.prefixApiUrl('/myulrpath/params?x=:ids');
var parameters =
var actions = {
post: {
method: 'post',
hasBody: false,
headers: {
'Content-Type': 'application/json'
},
transformRequest: function (request, headers) {
headers = {'Content-Type': 'application/json'};
}
}
};
$resource(url, parameters, actions).post({ids:'1,2,3'});
以及
var url = utils.prefixApiUrl('/myulrpath/params?x=:ids');
var parameters =
var actions = {
post: {
method: 'post',
hasBody: false,
transformRequest: function (request, headers) {
headers = {'Content-Type': 'application/json'};
}
}
};
$resource(url, parameters, actions, ).post({ids:'1,2,3'});
答案 0 :(得分:0)
所以我想出了答案,只是想分享它。
var url = utils.prefixApiUrl('/myulrpath/params?x=:ids');
var parameters =
var actions = {
post: {
method: 'post',
headers: {
'Content-Type': 'application/json'
},
}
};
$resource(url, parameters, actions, ).post({ids:'1,2,3'}, null);
所以我删除了hasBody选项,并且在对post方法的调用中,我添加了一个null作为有效负载。这使得可以在没有有效载荷但使用内容标题
的情况下发布