在Java Webclient中,当Mono序列化中的值为null时,如何完全省略字段

问题描述

我在Java Spring Boot框架上,尝试使用Mono供WebClient序列化Java对象以用于发送。我想知道找到值null时是否可以完全删除字段。我似乎找不到解决办法。试图找到一个注释,看看是否可行。

下面是一个例子。

我有一个java类,其对象看起来像这样

public class RequestBody {
  private String name_first;
  private String name_last;
  private String email_address;
}

使用构建器模式进行构建。

RequestBody requestBody =
    RequestBody.builder()
        .name_first(input.getName().getFirst())
        .name_last(input.getName().getLast())
        .build();

使用WebClient + Mono对另一个API进行RESTful POST

    return requestBodySpec
      .header("Content-Type","application/json")
      .body(Mono.just(requestBody),RequestBodyClass)
      .retrieve()
      .bodyToMono(String.class)
      .block();

Mono序列化后的JSON结果如下所示。

{
    "name_first": "Foo","name_last": "Bar,"email_address": null
}

期望具有请求JSON如下所示。且email_address的值为空时将其完全删除。我们该怎么做?

{
    "name_first": "Foo","name_last": "Bar
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)