我有一个春季网络服务工作正常但它不会添加'factuur'。如果我使用restclient并发帖子将'factuur'添加到我的数据库中它会成功但是当我在我的客户端应用程序中执行它时,它会在angularjs中返回:
org.springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型'application / octet-stream'
我在春季网络服务中的控制器:
@RequestMapping(value = "/",method = RequestMethod.POST)
public @ResponseBody void add(@RequestBody FacturatieView factuur){
facturatieService.addFacturatie(factuur);
}
在我的角度应用程序中,我有以下内容:
factory('factuurFactory', function($resource) {
return $resource('http://localhost:8084/publictms/factuur/:id?CALLBACK=JSONP_CALLBACK', {}, {
show: {method: 'GET', params: {id: '@id'}},
delete: {method: 'DELETE', params: {id: '@id'}}
});
}).
// In deze factory kan men alle voertuigen ophalen, wijzigen of een nieuwe toevoegen
factory('facturenFactory', function($resource) {
return $resource('http://localhost:8084/publictms/factuur/?CALLBACK=JSONP_CALLBACK', {}, {
all: {method: 'GET', isArray: true},
create: {method: 'POST', headers: {'Content-Type': 'application/json'}},
update: {method: 'PUT', headers: {'Content-Type': 'application/json'}}
});
}).
// CONTROLLER
// Controller om de facturen te tonen en om een factuur te verwijderen
controller('factuurCtrl', function($scope, $location, factuurFactory, facturenFactory) {
// Haal de lijst van factuur op
$scope.getList = function() {
facturenFactory.all(function(data) {
$scope.facturen = data;
});
};
// Navigeer naar een nieuw factuur aanmaken
$scope.add = function() {
$location.path('admin/facturen/nieuw');
};
// Navigeer naar de details van een factuur
$scope.update = function(factuurId) {
$location.path('admin/factuur/' + factuurId);
};
// Verwijder een factuur
$scope.delete = function(factuurId) {
factuurFactory.delete({id: factuurId}, function() {
$scope.getList();
});
};
$scope.getList();
}).
// Controller om de details van een factuur te tonen en te wijzigen
controller('factuurDetailCtrl', function($scope, $routeParams, factuurFactory, facturenFactory) {
$scope.state = true;
$scope.factuur = factuurFactory.show({id: $routeParams.id});
$scope.edit = function() {
$scope.state = false;
};
$scope.save = function() {
facturenFactory.update($scope.factuur);
$scope.state = true;
};
$scope.cancel = function() {
$scope.state = true;
};
}).
请注意,如果我在控制器中设置了mediatype,我将不接受此八位字节流。任何人都知道为什么角度发送八位字节流而不是json?此更新方法也正常。