spring mvc @RequestBody接受post json对象

jq ajax通过post json对象

遇到的HTTP 415/400问题错误解决方案:http://www.linuxidc.com/Linux/2014-04/99928.htm

客户端:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript"
	src="<%=basePath%>resources/scripts/jquery-2.0.3.min.js"></script>
<script type="text/javascript">
$(function(){
    $("#send").click(function(){
    	var jsondata = $("#jsondata").val();
    	var jsonobj = JSON.parse(jsondata)
    
    	var callback = function (data) {
    		$("#result").html(JSON.stringify(data))
    	}
    
		$.postJSON(‘<%=basePath%>api/user/test‘, jsonobj, callback)

		});
	})

	$.postJSON = function(url, data, callback) {
		return jQuery.ajax({
			‘type‘ : ‘POST‘,
			‘url‘ : url,
			‘contentType‘ : ‘application/json‘,
			‘data‘ : JSON.stringify(data),
			‘dataType‘ : ‘json‘,
			‘success‘ : callback
		});
	};
</script>
</head>
<body>
	JSON对象
	<br>
	<textarea id="jsondata" cols="60" rows="5">
{"id":2,"gender":0,"mobile":"15072370640","password":"123456","accessToken":"fd6bf3dd3cca4b0ca7c9099447994dba"}
	</textarea><br>

	<button id="send">POST</button><br>

	<font color="red" id="result"></font>
</body>
</html>

spring mvc 服务端:

@RequestMapping(value="/test",method=RequestMethod.POST)
public @ResponseBody Map<String, Object> testPostJson(
		@RequestBody  UserForm userForm,
		BindingResult bindingResult) {

	Map<String, Object> map = new HashMap<String, Object>();
	if (bindingResult.hasErrors()) {
		map.put("errorCode", "40001");
		map.put("errorMsg", bindingResult.getFieldError().getDefaultMessage());
	}

	map.put("user", userForm);
	return map;
}

测试:

结果

{"user":{"name":null,"id":2,"password":"123456","avatar":null,"gender":0,"mobile":"15072370640","accessToken":"fd6bf3dd3cca4b0ca7c9099447994dba"}}

spring mvc @RequestBody接受post json对象

时间: 2024-10-05 04:17:24

spring mvc @RequestBody接受post json对象的相关文章

spring mvc 控制器方法传数组对象的一些经验

因为项目需要在一个表单里面提交多个对象,比较好的做法就是直接在控制器方法参数里传一个数组. 由于Spring mvc框架在反射生成控制方法的参数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数, 但是一直报NoSuchMethodException的异常. 根据这个方法的jdk文档,这个类是一个数组对象时,这个方法会抛出java.lang.NoSuchMethodException,因为接口.数组类.void.基本类型没有构造函数. 同事后来给我支了两招,使

anglarjs 接受后台json 对象嵌套数据

1.后台传输一个[{ name:"王五", author:[{ name:"王五", price:"10" }] }] 可以在angluarjs 里面定义一个 $scope.book =[{ name:"", author:[{ name:"", price:"" }] }]接收,在angularjs ,里面就点出来.如:$scope.book[0].name,$scope.book[0

Spring mvc 用ajax传输json数据

在spring mvc3中,已经集成了Jackson(json处理器)来处理数据输出json格式,spring中封装的类是 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter这个json转换器, 如果是springmvc3.2之前的版本,可以使用org.springframework.http.converter.MappingJacksonHttpMessageConverter这个json转换

spring mvc 406 (Not Acceptable) json转换错误

spring mvc通过@RequestMapping("/register")和@ResponseBody返回json格式的字符串时出现如下异常: The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers. 控

Spring MVC使用@ResponseBody返回JSON数据406问题解决方案

其实前面一篇关于zTree返回JSON数据的文章已经有一种解决方案了,但是当我今天在新公司搭建新环境的时候,发现决然又不行了,所以我觉得那应该不是最优的解决方案. 说起来,我以前接触到的一个项目,根本没有配置spring的文件,就直接用@ResponseBody可以返回JSON数据,不知道其中的秘诀在什么地方,搞不懂了. 今天主要提供另一个解决@ResponseBody返回JSON数据,页面抛出406错误的解决方案. 第一步,引入包: <dependency> <groupId>c

Spring MVC灵活控制返回json的值(自定义过滤字段)

在使用spring MVC开发过程中,为了提高项目执行效率,所以在一些外键字段的实体中会注解"@ManyToOne(fetch = FetchType.LAZY)"以实现延迟加载的效果. 但是,在使用ajax请求数据,当需要返回的序列化数据中包含延迟加载的属性时,会出现错误,延迟加载的属性无法进行序列化.在这个时候,我们需要暂时取消延迟加载,以取到所有需要的数据. 可是,这样又会造成一堆垃圾数据的产生.序列化.传递至前台. 所以需要在控制层进行数据过滤,只序列化需要的数据. 具体过滤方

Spring Mvc使用Jackson进行json转对象时,遇到的字符串转日期的异常处理(JSON parse error: Can not deserialize value of type java.util.Date from String)

1.问题排查 - 项目配置 springboot 2.1 maven配置jackson - 出现的场景: 服务端通过springmvc写了一个对外的接口,查询数据中的表,表中有一个字段属性是时间戳,返回一个json字符串,其中该json带有日期,格式为yyyy-MM-dd HH:mm:ss 客户端调用该http接口,指定返回值为一个Vo,Vo中日期的字段为Date类型 客户端调用该接口后抛异常了.报错信息如下: feign.codec.DecodeException: JSON parse er

Spring MVC返回Map格式JSON数据

问题描述: ajax中走error : function(e) {} 问题背景: 在测试controller层时,试过了ResponseEntity<ResponseModel>这种类型返回,这是可行的,但是出于好奇,想看看Map返回可不可行.结果出乎我预料,返回Map时JSP页面总是走error : function(e) {},这就奇怪了,刚才用ResponseEntity返回可行,而Map为什么不行呢?于是就查了ajax走error:function的原因, 原因: 1. 后台出错 2.

【转】解决spring mvc 中ajax返回json乱码问题

转载自:http://my.oschina.net/u/140421/blog/176625 转载自:http://my.oschina.net/candon/blog/149073?fromerr=I9VBOy62 第一个转载: 在使用spring-mvc的mvc的时候既享受它带来的便捷,又头痛它的一些问题,比如经典的中文乱码问题.现在是用json作为客户端和服务端 的数据交换格式貌似很流行,但是在springmvc中有时候会因为我们的各种疏忽从而造成页面ajax请求到的相应数据,如果带有中文