Jackson - 接受对象属性上的空字符串

lua*_*nti 3 java spring json jackson

我有这样的 POJO

@Data
public class Tree {
   String id;
   Leaf leaf;
}
Run Code Online (Sandbox Code Playgroud)

如何使带有 RequestBody“Tree”的其余控制器接受属性叶上带有空字符串的 JSON 请求,忽略它并视为 null。JSON 请求示例

 {
      "id": "foo",
      "leaf": ""
 }
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 5

您必须将ACCEPT_EMPTY_STRING_AS_NULL_OBJECT您的属性设置ObjectMappertrue

请参阅文档

确定是否接受空字符串值作为具有数据绑定的常规 POJO(“bean”)的空值:这在处理以松散类型语言编写的端点时非常有用,并且可能将丢失的对象表示为空字符串。

如果您使用 Spring Boot,您可以在此处找到有关如何配置ObjectMapper.