【问题标题】:Is it possible to set content-type in angular $resource without body是否可以在没有正文的角度 $resource 中设置内容类型
【发布时间】:2017-09-07 08:40:19
【问题描述】:

我正在使用一个接受以下请求的 API

POST /myulrpath/params?x=2,3
Host: somehost:20200
Content-Type: application/json

请求中不允许有效负载,但仍需要正确的内容/类型。我尝试使用 angular $resource 解决此问题,但内容类型始终设置为在发送请求后允许所有“*/*”。任何人都知道是否可以使用 $resource 来解决这个问题,还是我必须退回到 $http?

我的 2 种不同的方法(无效)

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'});

【问题讨论】:

    标签: angularjs rest angular-resource


    【解决方案1】:

    所以我想出了答案,只是想分享它。

    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 作为有效负载。这使得可以在没有有效负载但使用 content-header 的情况下发布

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-25
      • 2014-10-03
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 2014-02-08
      • 2018-11-09
      相关资源
      最近更新 更多