Restangular 无法设置默认 headers

Restangular not able set default headers

我正在尝试通过 Restangular 发送 post 请求。我想在内容中传递 json,所以我在 post 请求中添加了默认的 headers,但它仍然给出了 415 Unsupported media Type。当我在浏览器中检查请求 headers 时,它仍然显示 text/plain。 这是我的功能

  this.create = function(data) {
      var deferred = $q.defer();
      var User = Restangular.all('user');

      User.post(data, {}, {'Content-Type': 'application/json'})
        .then(function(data) {
          $timeout(function() {
          deferred.resolve(data);
          });
        }, function(error) {
          deferred.reject(error);
        });
      return deferred.promise;
    }

GET 请求按预期工作。但是我无法在 POST 请求的 header 中设置内容类型?

我也尝试过全局设置这个header

  .config(function($httpProvider, ServiceSettings, RestangularProvider) {

        console.log("urlddd " + ServiceSettings.apiUrl);

        RestangularProvider.setBaseUrl(ServiceSettings.apiUrl + '/api/');

        RestangularProvider.setRestangularFields({
            etag: 'Etag'
        });
        RestangularProvider.setDefaultHeaders({
            'Content-Type': 'application/json'
        });
        $httpProvider.interceptors.push('authInterceptor');
    });

但这也行得通。我也试过 this 但没有成功。有人可以帮忙吗?

谢谢

我最终创建了一个拦截器并使用该内容类型设置每个请求,并在我的配置中添加了以下语句。

$httpProvider.interceptors.push('interceptor');