У меня возникла дилемма.
Итак, у меня есть этот Rest API, который действует как упрощающий прокси между другим API, который его использует, и SOAP API от внешнего провайдера.
В нем у меня есть 4 метода, соответствующих 4 конечным точкам Soap, которые отображают данные из DTO-запросов на отдых в DTO-запросы на мыло.
4 DTO-запроса на отдых имеют CommonDto, который содержит некоторыеобъекты, которые имеют все общие запросы.
Некоторые поля этого общего запроса REST DTO могут быть обнуляемыми, и в этом случае у меня установлены нулевые проверки, чтобы я не установил соответствующий SOAPполя запроса вообще, так как это приведет к сбою запроса SOAP.
4 метода в основном выглядят так:
public RestResponseObject1 method1(RestRequestObject1 rRO1){
SoapRequestObject1 sRO1= new SoapRequestObject1();
Object commonField1= rR01.getCommonField1();//Object can be anything, BigDecimal, String, int,etc.
if(commonField1!=null){
sRO1.setCommonField1(commonField1);
}
BigDecimal commonField2= rR01.getCommonField2();
if(commonField2!=null){
sRO1.setCommonField2(commonField2.intValue());
}
//etc....
return Mapper.map(soapService.doSoapMethod1(sRO1);
}
этот метод повторяется 4 раза, с разными RestRequestObjects, RestResponseObjects,и SoapRequestObjects, но типы общих полей между ними не меняются.
Мой вопрос: как я могу абстрагировать нуль-проверки, чтобы я не повторялесть их для каждого метода, чтобы мой код был чище? Имейте в виду, что у меня нет возможности что-либо делать с объектами запроса Soap, поскольку они автоматически генерируются с помощью Swagger / OpenApi