Статус HTTP 415 - ошибка неподдерживаемого типа носителя в Spring MVC с angular js

Исходный сервер отказывается обслуживать запрос, потому что полезная нагрузка находится в формате, не поддерживаемом этим методом на целевом ресурсе. Класс контроллера

@RequestMapping(value = "/register", method = RequestMethod.POST)
    public ModelAndView doRegister(@RequestBody UserBean userBean, BindingResult result)
    {
        ModelAndView view = new ModelAndView("index");
        if (!result.hasFieldErrors())
        {
            if (retrieveService.insert(userBean) != null)
            {
                System.out.println("done");
                }
                }   
        return view;
        }

Угловой код js

<script type = "text/javascript">
var app = angular.module('myApp', []);
app.controller("UserController", ['$scope', '$http', function($scope, $http, httpPostService) {
 var self=this;
 $scope.insertData = function()
{
    alert($scope.userBean.username);
     $http({
         method: "POST",
         url: "register",
         username: $scope.userBean.username,
         phone:  $scope.userBean.phone,
         email: $scope.userBean.email,
         address: $scope.userBean.address,
         password: $scope.userBean.password
        }).then(function(response){
         console.info(response.status);
         console.info("in success");

     }, function(response){
         console.info(response.status);
         console.info("in fail");     
     });
};
}]);
</script>
<form method = "post" action = "register" name = "myForm">
  <label for = "username" class = "control-label">First Name:</label>
  <input type = "text" data-ng-model = "userBean.username" class = "form-control"  placeholder = "Enter Firstname"/><br>
   <label for = "phone" class = "control-label">Phone:</label>
  <input type = "text" data-ng-model = "userBean.phone" class = "form-control"  placeholder = "Enter phone no."/><br>
  <label for = "email" class = "control-label">Email:</label>
  <input type = "text" data-ng-model = "userBean.email" class = "form-control"  placeholder = "Enter email"/><br>
  <label for = "address" class = "control-label">Address:</label>
  <input type = "text" data-ng-model = "userBean.address" class = "form-control"  placeholder = "Enter address"/><br>
  <label for = "password" class = "control-label">Password:</label>
  <input type = "password" data-ng-model = "userBean.password" class = "form-control"  placeholder = "Enter password"/><br>
   <button type = "submit" data-ng-click = "insertData()" class = "btn btn-primary">Submit</button>
</form>

как отправить данные на весь bean-компонент Любезно, кто-нибудь расскажет о Руководство по применению CRUD в Spring MVC с angular js

В каком формате данные отправляются контроллеру?

Nicholas K 01.11.2018 11:01

попробуйте использовать синтаксис $http.post("register", {data: {...}})

Aleksey Solovey 01.11.2018 11:04

Братан не работает братан

Vignesh_E 01.11.2018 11:20

@Vignesh_E, вы получаете какую-либо ошибку при отправке запроса контроллеру?

Naqi 01.11.2018 13:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
386
1

Ответы 1

Нет проблем с вашим серверным кодом. Ваш ajax должен выглядеть следующим образом:

$http({
         method: "POST",
         url: "register",
         data: $scope.userBean
        }).then(function(response){
         console.info(response.status);
         console.info("in success");

     }, function(response){
         console.info(response.status);
         console.info("in fail");     
     });

Другие вопросы по теме