Ошибка неправильного запроса AngularJS Spring MVC 400

#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 спасибо, я сделал, как вы предложили, и все, что мне нужно было сделать, это добавить конструктор по умолчанию