org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.handleHttpMessageNotReadable Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unrecognized field "age1" (class com.byd.shop.entity.User), not marked as ignorable (4 known properties: "id", "sex", "age", "name"])
1、原因分析
实体类中不存在post提交的age1,从而程序抛出异常。
2、在实体类添加 @JsonIgnoreProperties(ignoreUnknown = true)
3、springweb.xml添加
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="com.fasterxml.jackson.databind.ObjectMapper"> <!-- 处理responseBody 里面日期类型 --> <property name="dateFormat"> <bean class="java.text.SimpleDateFormat"> <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/> </bean> </property> <!-- 为null字段时不显示 --> <property name="serializationInclusion"> <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value> <!--//将该标记放在属性上,如果该属性为NULL则不参与序列化--> <!--//如果放在类上边,那对这个类的全部属性起作用--> <!--//Include.Include.ALWAYS 默认--> <!--//Include.NON_DEFAULT 属性为默认值不序列化--> <!--//Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化--> <!--//Include.NON_NULL 属性为NULL 不序列化--> </property> </bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
4、重启即可。