JAVA后端接口调试常见报错信息&解决办法
程序员文章站
2024-03-26 08:53:11
...
1. “Could not read JSON: Unrecognized field ×××, not marked as ignorable”
Solutions:
- 格式化输入内容,保证输入的JSON串不包含目标对象没有的属性
- 在目标对象的类级别上加注解:
@JsonIgnoreProperties(ignoreUnknown = true) //忽略类中不存在的字段
or
@JsonIgnoreProperties({"字段名1", "字段名2"}) //指定的字段不会被序列化和反序列化
- 全局DeserializationFeature配置
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//配置该objectMapper在反序列化时,忽略目标对象没有的属性,凡是使用该objectMapper反序列化时,都会拥有该特性
2. “Failed to convert from type [java.lang.String] to type [java.util.Date]”
前台GET请求,参数为时间类型的字符串
(POST请求参数为时间类型字符串时,后台可以解析为Date类型)
Solutions:
在Controller层中加入:
@InitBinder
public void initBinder (WebDataBinder binder) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(df, true));
}