我有这样的POJO
@Data
public class Tree {
String id;
Leaf leaf;
}
如何制作,我的带有RequestBody“ Tree”的rest控制器将接受属性叶上带有空String的JSON请求,将其忽略并将其视为null。 JSON请求示例
{
"id": "foo",
"leaf": ""
}
答案 0 :(得分:1)
您必须将ACCEPT_EMPTY_STRING_AS_NULL_OBJECT
的{{1}}属性设置为ObjectMapper
。
请参见documentation:
确定是否将空String值接受为null 具有数据绑定的常规POJO(“ beans”):这在以下情况下很有用 处理以松散类型的语言编写的端点,并且可能 将缺少的对象表示为空字符串。
如果您使用的是Spring Boot,则可以find details here了解如何配置true
。
答案 1 :(得分:0)
按如下方式配置ObjectMapper:
ObjectMapper om = new ObjectMapper();
om.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
答案 2 :(得分:-1)
您需要配置Jackson ObjectMapper接受空字符串为null。为此,只需在配置类中添加以下方法即可。
@Bean
public ObjectMapper mapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
return mapper;
}