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

时间:2018-02-26 02:20:32

标签: javascript angularjs spring-mvc http-status-code-406

我坚持从控制器到角度服务的数据,请检查我的代码,任何身体建议我做什么

提前致谢

的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 controller

@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>

在我的浏览器中

  

响应标题

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

  

请求标题

接受
application / json,text / plain, / 接受编码 gzip,deflate 接受语言 的en-US,连接; Q = 0.5 连接
活着 主机
本地主机:8081 引荐 http://localhost:8081/UserRegistration/ 用户代理
Mozilla / 5.0(Windows NT 6.3; W ...)Gecko / 20100101 Firefox / 58.0

2 个答案:

答案 0 :(得分:0)

HTTP 406表示目标无法接受所提供的响应。

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

如果是对象(列表,地图..)/ JSON使用Content-Type = application/json并将请求网址更改为http://<context>/getAlluserDetails

答案 1 :(得分:0)

在我的数据返回到angularjs服务之前,我的弹簧控制器中没有任何转换器或依赖项帮助我刚刚转换为Gson(这应该由Spring而不是我完成)。这就是我所做的< / p>

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