欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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));
}