SpringMVC 返回数据的缺省格式

对于注解了@ResponseBody或RestController的类或方法,SpringMVC的缺省返回格式(JSON或XML)由引用的包决定。


1、如果应用的是下面这个包,则返回JSON:

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.6.0</version>
		</dependency>
2、如果应用的是下面这个包,则返回XML:

 		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-xml</artifactId>
			<version>2.6.0</version>
		</dependency>

如果两个都引用了,也是返回XML。


以上是缺省的情况,即HTTP Request头中Accept是 */* 的时候。


在第二种情况下,可以通过修改Accept头让服务器返回JSON格式:Accept:application/json, text/javascript, */*; q=0.01

如果是用AJAX调用,可以这样设置(dataType):

	$.ajax({
		method : "POST",
		url : _url,
		async : _async,
		dataType : "json", // 表示返回值类型
		data : _params,
		success : successCallback,
		error : errorCallback
	});



你可能感兴趣的:(SpringMVC 返回数据的缺省格式)