代码之家  ›  专栏  ›  技术社区  ›  Marthin

可以在没有正文的情况下在angular$resource中设置内容类型吗

  •  1
  • Marthin  · 技术社区  · 7 年前

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

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

    请求中不允许有效负载,但仍需要正确的内容/类型。Im尝试使用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'});
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Marthin    7 年前

    所以我找到了答案,只想与大家分享。

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