#angularjs #spring #spring-mvc
#angularjs #весна #spring-mvc
Вопрос:
я использую службу $ http для отправки запроса post на SPRING @RestController, но я получаю 400 bad request
ответ, который я не могу понять, чего мне не хватает, я уже пробовал с другим объектом, и он работал нормально.
объект Java
public class CmdOperationProxy {
private String name;
private String date;
private double soldPrice;
private int quantity;
// getters and setters
}
мой контроллер
@RequestMapping(value="/rest/add/operation", method = RequestMethod.POST)
public ResponseEntity<Void> addOperationToCmd(@RequestBody CmdOperationProxy op
,HttpServletRequest request,UriComponentsBuilder ucBuilder) throws IOException{
System.out.println("--------------------------------------");
System.out.println(op.getDate());
System.out.println(op.getName());
System.out.println(op.getQuantity());
System.out.println(op.getSoldPrice());
HttpHeaders headers = new HttpHeaders();
headers.add("Accept", "application/json");
headers.setLocation(ucBuilder.path("/rest/articles").buildAndExpand(cmdproxy.getDate()).toUri());
return new ResponseEntity<Void>(headers, HttpStatus.CREATED);
}
служба angular
function addOperation(){
var deferred = $q.defer();
op = { 'name' : 'hello world', 'soldPrice' : 40.25 , 'quantity' : 1 , 'date' : '15-10-2016' }
$http.post(URI "/add/operation",op)
.then(
function (response) {
deferred.resolve(response.data);
},
function(errResponse){
console.error('Error while adding operation to cmd');
deferred.reject(errResponse);
}
);
return deferred.promise;
}
Комментарии:
1. Установите org.springframework. веб-категория для ОТЛАДКИ в вашей конфигурации ведения журнала и вставки трассировки выполнения.
2. @codependent спасибо, я сделал, как вы предложили, и все, что мне нужно было сделать, это добавить конструктор по умолчанию