我正在用POST动词调用REST服务。后请求主体是动态构造的。在某些情况下,很少会使用空值填充字段。即使我将我的Request pojo与@JsonInclude(Include.NON_NULL)
或@JsonInclude(JsonInclude.Include.NON_NULL)
一起使用时,空值字段也不会被删除。
我的样品请求如下所示。
我要自己构造requestEntity,而不在发布前解析它。
resetTemplate.exchange(uri,HTTP.POST,requestEntity,responseObject)
如何在请求主体字段为空值的卸妆器中
我正在使用 Spring Boot 1.5.9 ,它使用的是 Jackson 2.x
答案 0 :(得分:1)
@JsonInclude(Include.NON_NULL)
应该为您服务!
您似乎是在自己构造请求实体,不确定是否要传递带有NON_NULL的JSON字符串。如果您已使用Jackson注释进行注释,则直接尝试使用实体。
restTemplate.postForEntity(uri, requestDto, ResponseDto.class);
答案 1 :(得分:0)
只需使用此@JsonSerialize(include = Inclusion.NON_NULL)
而不是@JsonInclude(Include.NON_NULL)
,它就可以使用.. !!
注意:com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion
现在已弃用。