SpringMVC中的ContentNegotiatingViewResolver配置

news/2024/7/4 20:34:34

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

pom.xml

<properties>
		<commons-lang.version>2.6</commons-lang.version>
		<slf4j.version>1.7.6</slf4j.version>
		<spring.version>4.1.3.RELEASE</spring.version>
        <jackson.version>2.5.4</jackson.version>
	</properties>

<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.version}</version>
		</dependency>

mvc-dispatcher-servlet.xml配置ViewResolver

<!-- 配置ViewResolver。 可以用多个ViewResolver。 使用order属性排序。 InternalResourceViewResolver放在最后。 -->
	<bean
		class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
		<property name="order" value="1" />
		<property name="mediaTypes">
			<map>
				<entry key="json" value="application/json" />
				<entry key="xml" value="application/xml" />
				<entry key="htm" value="text/html" />
			</map>
		</property>

		<property name="defaultViews">
			<list>
				<!-- JSON View -->
				<bean
					class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
				</bean>
			</list>
		</property>
		<property name="ignoreAcceptHeader" value="true" />
	</bean>

controller返回的是course,使用了@ResponseBody注解

//访问123,courseId=123
@RequestMapping(value="/{courseId}",method=RequestMethod.GET)
	public @ResponseBody Course getCourseInJson(@PathVariable Integer courseId){
		return  courseService.getCoursebyId(courseId);
	}

结果,浏览器如何看待返回的数据Course

23a7ab2bd1153b85f1ac631ad81c7cbf439.jpg

复制到Notepad++,用Notepad++的Json插件查看

7ed0d77d568c984bb9ed07c278b9271df02.jpg

3df8d1937f22970b44aebd58491aee8c734.jpg

解析得出,是一个对象

##################################################

不使用@ResponseBody注解,使用ResponseEntity

import org.springframework.http.ResponseEntity;
	@RequestMapping(value="/jsontype/{courseId}",method=RequestMethod.GET)
	public  ResponseEntity<Course> getCourseInJson2(@PathVariable Integer courseId){
		Course course =   courseService.getCoursebyId(courseId);		
		return new ResponseEntity<Course>(course, HttpStatus.OK);
	}

 

转载于:https://my.oschina.net/2480553921/blog/1832925


http://www.niftyadmin.cn/n/3777782.html

相关文章

转帖:在nbsp;Linuxnbsp;下运行nbsp;ASP.NETnbsp;2.0

单位有一台闲置的旧 IBM Netfinity 7000 的服务器&#xff0c;双 Pentium Pro 200 MHz CPU&#xff0c;512 MB 内存&#xff0c;一个 9.1 GB 和五个 4.5 GB 的 SCSI 硬盘。我想将其废物利用一下&#xff0c;于是&#xff1a;1. 到 http://tw.releases.ubuntu.com/edgy/ 下载 PC…

Java的数据类型与类型转换

Java的数据类型与类型转换 1.基本数据 基本数据类型&#xff08;字节&#xff09; byte(1) float(4) int(4) long(8) double(8) boolean(1) char(2) 说明&#xff1a;八进制0&#xff08;零&#xff09;开头&#xff0c;十六机制0x&#xff08;零x&#xff09;开头&#…

UNIXnbsp;shellnbsp;字符串截取实例!!

read DATE month$(echo $DATE | awk { print substr($1,5,2)}) year$(echo $DATE | awk { print substr($1,1,4)}) day$(echo $DATE | awk { print substr($1,7,2)}) echo $year echo $month echo $day

无法设置 / 添加网络打印机?报错 无法保持设置?

设置网络打印机? 在 打印机 -> "打印机默认首选项" 或 "打印机属性" 中, 注意 不是 "属性" 中, 的 " 共享" 选项卡中 设置 "共享"如果提示 : "无法保持设置, 错误 6dx"? 是因为 连接打印机的机器中的 "…

shell截取函数2

read date echo $date | cut -c 1-4 year$(echo $date | cut -c1-4) echo $year可以根据这些写一个函数.

python模块: urllib模块详解 !!

前言相信大家在做一个Python项目的时候&#xff0c;肯定会用到模块&#xff0c;就想JAVA会用到JAR包一样&#xff0c;这样会让我们的开发更高效和更简洁&#xff0c;本节为大家介绍一个URLlib模块 在python中urllib模块提供上层接口,可以使用它下载读取数据,这里举个例子,把sin…

PaddleFluid和TensorFlow基本使用概念对比 | PaddlePaddle专栏

深度学习平台的演化 时至今日&#xff0c;深度学习已成为事实上最流行的机器学习技术。学术界多年研究加上工业界的长期实践提出了若干有效的基本建模单元&#xff1a;全连接&#xff0c;卷积&#xff0c;循环神经网络等&#xff1b;设计各类训练技巧&#xff1a;初始化方法&am…

用shell截取sql数据

参照原帖http://blog.csdn.net/fantian830211/archive/2007/10/08/1815159.aspx首先创建一个PROC 输出参数。shell中执行&#xff0c;在最后print 参数。调用时直接引用上面的shell &#xff0c;将结果赋值给变量。用引用tail函数截取后几行。赋值给变量并输出。#fun1sqlplus -…