SpringMVC将对象转化为JSON时406

最近跟着做淘淘商城项目的时候,出了这么一个406错误,
在这里插入图片描述这个是Controller中的代码

	@RequestMapping("/items/{itemId}")
	@ResponseBody
	public TbItem getItemById(@PathVariable long itemId) {
		TbItem item=itemService.findItemById(itemId);
		return item;
	}

这个是tatao-manager-web中json转换包依赖:

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.7.3</version>
    </dependency>

这个是po类TbItem

public class TbItem {
    private Long id;

    private String title;

    private String sellPoint;

    private Long price;

    private Integer num;

    private String barcode;

    private String image;

    private Long cid;

    private Byte status;

    private Date created;

    private Date updated;
    //省略getter、setter方法

注意看一下,这个类现在有一个Date类型的属性created,怀疑问题出在这,
1、改依赖

<!-- jackson相关依赖包 -->
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-core</artifactId>
		<version>2.7.4</version>
	</dependency>
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-annotations</artifactId>
		<version>2.7.4</version>
	</dependency>
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-databind</artifactId>
		<version>2.7.4</version>
	</dependency>

一个包变成了三个包。
2、改springMVC配置文件

<!-- MappingJackson2HttpMessageConverter处理responseBody 里面日期类型 xsi:schemaLocation引入版本必须大于等于3.1 -->
	<mvc:annotation-driven>
		<mvc:message-converters>
			<bean
				class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
				<property name="supportedMediaTypes">
					<list>
						<value>text/html;charset=UTF-8</value>
					</list>
				</property>
				<property name="objectMapper">
					<bean class="com.fasterxml.jackson.databind.ObjectMapper">
						<property name="dateFormat">
							<bean class="java.text.SimpleDateFormat">
								<constructor-arg type="java.lang.String" value="yyyyMMddHHmmss" />
							</bean>
						</property>
					</bean>
				</property>
			</bean>
		</mvc:message-converters>
	</mvc:annotation-driven>

我的配置文件名叫springmvc.xml,这一段是全局设置json响应的日期格式,还有另外一种方式,可以去看下面的参考。

OK,再跑一下,出来了,
在这里插入图片描述虽然问题解决了,但到底是什么原因导致的,我现在确定不了,以后进一步学习补上。

参考:
【1】、Jackson详解

猜你喜欢

转载自blog.csdn.net/sinat_40770656/article/details/94736685