如何在 Spring Boot 中忽略 Post 请求正文中的空值

spr*_*ner 3 spring-mvc spring-boot

我正在使用 POST 动词调用 REST 服务。发布请求正文是动态构造的。在某些情况下,很少有字段会填充空值。即使我使用我的请求 pojo@JsonInclude(Include.NON_NULL)@JsonInclude(JsonInclude.Include.NON_NULL)空值字段也不会被删除。

我的示例请求如下所示。

我自己构建 requestEntity 而不是在发布之前解析它。

resetTemplate.exchange(uri,HTTP.POST,requestEntity,responseObject)
Run Code Online (Sandbox Code Playgroud)

如何在具有空值的请求正文文件中移除

我使用的是Spring Boot 1.5.9,它使用的是Jackson 2.x

Kar*_*k R 7

@JsonInclude(Include.NON_NULL) 应该对你有用!

您似乎正在自己构建请求实体,并且不确定您是否正在传递带有 NON_NULL 的 JSON 字符串。如果您已使用 Jackson 注释进行注释,请直接使用实体尝试此操作。

restTemplate.postForEntity(uri, requestDto, ResponseDto.class);
Run Code Online (Sandbox Code Playgroud)