我正在上发送RequestDTO到Web服务类。 我需要在发送之前验证请求。
该请求可以从3米不同的地方发送,并有每个“请求类型”不同的验证规则,例如request1必须有名称和PhoneNumber,请求2必须有地址等)
我有一个DTO包含的字段(名称,地址,城市,PHONENUMBER等)的一个长长的清单,这是相同的DTO发送无论是哪种类型的请求。
我已经创建了3种不同的验证方法和基于适当的方法被称为类型。
在每一种方法我有如果其他的检查所必需的每个请求类型的字段一个长长的清单。
private void validateRequest1(Request request) {
StringBuilder sb = new StringBuilder();
if (null == request) {
throw new IllegalArgumentException("Request is null");
}
if (isFieldEmpty(request.getName())) { *see below
sb.append("name,"));
}
if (isFieldEmpty(request.getStreet())) {
sb.append("street,"));
}
...
isFieldEmpty()
检查无效和该字符串isEmpty()
并返回一个布尔
这给我的28这些方法之一圈复杂,所以我的问题是..是有可能降低这种复杂性? - 如果是的话,我将如何去这样做呢?
最后,我需要检查很多领域,我看不出如何能没有大量的检查来完成:/