java - 从多个 POJOS 中使用 getter 和 setter 降低圈复杂度
问题描述
这个问题是针对 Spring java 的。我对一堆 If 语句有疑问:实际上我在服务层中有两个 pojo。
我从一个 pojo 那里得到了这个字段。如果此字段包含信息,我将通过特定的解密方法设置对另一个 pojom 的响应。
原始示例:
if (clReq.getIdCliente() != null && clReq.getIdCliente().trim().equals("")) {
entity.setFiId(Integer.valueOf(RijndaelCrypto.decrypt(clReq.getIdCliente(), IV, this.privateKey)));
} else {
throw new ClientesBOException("3-FALTA DATOS REQUERIDOS-ERROR");
}
示例2:我在外部方法中减少了主要条件:
if (validaCha(clReq.getIdCliente())) {
entity.setFiId(Integer.valueOf(RijndaelCrypto.decrypt(clReq.getIdCliente(), IV, this.privateKey)));
}
外部方法:
public static final boolean validaCha(String val) throws ClientesBOException {
if(StringUtils.isBlank(val)) {
throw new ClientesBOException("ERROR!, Mandatory data missing");
}
return true;
}
主要问题!!pojo 包含 30 个字段。我必须验证每个字段,因为解密。现在我有这 30 次,具有不同的属性。
if (validaCha(clReq.getIdCliente())) {
entity.setFiId(Integer.valueOf(RijndaelCrypto.decrypt(clReq.getIdCliente(), IV, this.privateKey)));
}
我正在寻求帮助。我从实体 pojo 中阅读了关于在 set 方法中设置条件的内容。使用地图。使用模式。最后我找不到光
谢谢!!!!!!
解决方案
推荐阅读
- nginx - Appending paramaters to each m3u8 and ts file while playing live stream
- javascript - 如何在 EJS 文件中使用 onkeypress-events 调用函数?
- c# - 使用所选项目自动滚动内容
- java - 根据 2 个输入参数的子类型更改方法行为
- javascript - How can I update my dictionary with nested HTTP request?
- c# - 有没有办法从 .NET Core AuthorizationHandler 过滤器返回数据?
- powershell - Compare-Object Remove-item Need to change output from Compare-Object in order to Remove
- javascript - How to print a promise synchronously in JavaScript?
- docker - 无法使用 VNC 服务器连接 Docker Windows 容器
- c# - ASP.NET Core:我将如何从用户声明中绑定数据?