数据从 spring java 控制器返回到 angularjs 服务时出现 406 错误

406 err while data returning from spring java controller to angularjs service

我无法从控制器获取数据到 angular 服务请检查我的代码任何人建议我做什么

提前致谢

pom.xml

  <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.4</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.7.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.7.4</version>
        </dependency>

java控制器

@RequestMapping(value="/getAlluserDetails", method=RequestMethod.GET)
@ResponseBody
public List<Map<String, Object>> getAllUserDetails(){
    System.out.println("getAllUserDetails");
    ModelMap mav =new ModelMap();
    List<Map<String, Object>> listofusers = userServices.getUserData();
    System.out.println("listofusers : "+listofusers);
    return listofusers;

index.html

app.service("myServices",function($q,$http,$log) {
 var deffered = $q.defer();
 var responseData;
 this.getUsers = function(){
  return $http({
   method:'GET',
   url:'getAlluserDetails.htm'
//   data: JSON.stringify(search)
  }).then(function(response){
//   $scope.users = response.data;
   $log.info("samei"+response);
   return response;
  },function(reason){
   $log.info("samei 123err"+reason);
   return reason;
  });

 };
 <!doctype html>
<html ng-app="app">
<head lang="en">
<meta charset="utf-8">
<title>AngularJS Routing</title>
<script src="http://code.angularjs.org/1.2.13/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
 <script type="text/javascript" src="resources/scripts/main.js"></script>
<script type="text/javascript" src="resources/static/services/services.js"></script>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
 <link rel="stylesheet" href="resources/static/css/style.css">
 <script type="text/javascript" src="resources/static/controllers/LoginController.js"></script>
 <script type="text/javascript" src="resources/static/controllers/UserController.js"></script>
 <script type="text/javascript" src="resources/static/controllers/GetUserDetailsController.js"></script>
</head>
<body>
<div class="container" width="100px">
      <h2>Medhassu user data upload</h2>
      <div ui-view></div>
 </div>

在我的浏览器中

response header

内容语言
恩 内容长度
1067 内容类型
text/html;字符集=utf-8 日期
2018 年 2 月 25 日,星期日 15:49:04 GMT 服务器
Apache-Coyote/1.1

request header

接受
application/json、text/plain、/ 接受编码 gzip,放气 接受语言 en-US,en;q=0.5 连接
活着 主持人
localhost:8081 推荐人 http://localhost:8081/UserRegistration/ 用户代理
Mozilla/5.0 (Windows NT 6.3; W…) Gecko/20100101 Firefox/58.0

HTTP 406 表示提供的响应不被目标接受。

要返回 ModelAndView 使用 Content-Type = text/html

如果是对象(list,map..)/JSON使用Content-Type = application/json并将请求url更改为http://<context>/getAlluserDetails

None 的转换器或依赖项帮助从 406 状态我刚刚在我的 spring 控制器中转换为 Gson,然后我的数据返回到 angularjs 服务(应该完成由 Spring 而不是我)。这就是我所做的

如果有人有更好的解决方案,请告诉我