我正在尝试通过Restangular发送帖子请求。我想在内容中传递json,所以我在帖子请求中添加了默认标题但仍然给出了415不支持的媒体类型。当我在浏览器中检查请求标题时,它仍显示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请求的标题中设置内容类型?
我还尝试全局设置此标题
.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但没有运气。有人可以帮忙吗?
谢谢
答案 0 :(得分:0)
我最终创建了一个拦截器,并使用该内容类型设置每个请求,并在我的配置中添加以下语句。
$httpProvider.interceptors.push('interceptor');