根据 Spring Boot 中另一个字段的值设置 POJO 字段值

问题描述 投票:0回答:1

我有一个简单的 POJO 类

class POJO{
private boolean isEnabled,
private String field
}

我有一个接受 POJO 类型的 RequestBody 的控制器,作为更改的一部分,我想包含一个验证,以便当 RequestBody 中的 isEnabled 为 true 时,将字段的值设置为“TEST”(RequestBody 中的字段值将为 null ) 并且当 isEnabled 为 false 时,将字段的值设置为从 RequestBody 接收到的值

我可以在控制器/服务上实现 if...else... 但这涉及大量代码复制,特别是因为我有多个字段要设置,有没有办法可以将这种验证合并到 POJO 类本身中?

java spring-boot rest validation spring-mvc
1个回答
0
投票

您只需要将逻辑放入 dto 构造函数中即可。

class POJO {
  private boolean isEnabled,
  private String field;

  public POJO (boolean isEnabled, String field) {
    this.isEnabled = isEnabled;
    this.field = isEnabled ? "TEST" : field;
  }
} 
© www.soinside.com 2019 - 2024. All rights reserved.