当前台传过来的json字符串里包含了目标类型中没有的属性名的时候就会报错,一般就是报400错误(参数类型不匹配也有可能)。比如上面的js代码中如果user还有个属性yz,而后台LoginParam中没有yz这个属性,那默认情况下就会报错。
实际上是springmvc调用jackson进行数据转换时发生了错误。springmvc默认使用Jackson的objectmapper类来进行转换工作,而objectmapper在转换的时候默认情况下是如果在目标类中找不到json字符串中的属性就会报错。
注:
// 序列化时 ,属性值为null的忽略
MAPPER.setSerializationInclusion(Inclusion.NON_NULL);