Статус HTTP 406 — неприемлемо в весенних MVC и Angularjs

Статус HTTP 406 — Неприемлемо Целевой ресурс не имеет текущего представления, которое было бы приемлемо для пользовательского агента, в соответствии с полями заголовка упреждающего согласования, полученными в запросе, и сервер не желает предоставлять представление по умолчанию.

код контроллера

@RequestMapping(value="/welcomes", method = RequestMethod.GET, produces="application/json")
    public @ResponseBody List<UserBean> welcome(@ModelAttribute UserBean userBean, HttpServletResponse response)
    {
        List<UserBean> usernames=new ArrayList<UserBean>();
        usernames = retrievedataservice.findAllUsers(userBean);
        System.out.println(usernames.size());
        return usernames;
    }

угловой js-код

   <script>
    var app = angular.module('myApp', []);
    app.controller('UserController', function($scope, $http, $location){
        $scope.usernames=[];
            var url = $location.absUrl() + "welcomes";
            $http.get(url).then(function (response) 
            {
                $scope.usernames = response.records;
            },function error(response) 
            {
                $scope.postResultMessage = "Error with status: " +  response.statusText;
            });
    });
    </script>
<table border="1" width="50%" height="50%"> 
    <tr><th>user_name</th><th>phone</th><th>email</th></tr>
     <tr data-ng-repeat="user in usernames">
     <td>{{user.username}}</td>
      <td>{{user.phone}}</td>
       <td>{{user.email}}</td>
       </tr>   
   </table> 

как отправить данные с контроллера Spring на контроллер angular js?


person Vignesh_E    schedule 04.12.2018    source источник


Ответы (1)


Попробуйте изменить сигнатуру метода, как показано ниже.

@RequestMapping(value="/welcomes", method = RequestMethod.GET,produces={"application/json"})
    public @ResponseBody List<UserBean> welcome(UserBean userBean, HttpServletResponse response)

Обратите внимание, что я удалил @ModelAttribute и изменил продукты.

Также убедитесь, что у вас есть jackson или любая другая библиотека json в вашем пути к классам.

Если нет, добавьте ниже в pom.xml

<!-- add jackson to support restful API, otherwise the API will return 406 error -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>

Обратитесь к этой теме

person Alien    schedule 04.12.2018