У меня в настоящее время есть этот метод (это в основном реальный, я просто переименовал переменные и объекты)
private void myMethod(
final InputMessage inputMessage,
final String id) {
try {
final Map<String, String> result =
jdbcTemplate.query(
QUERY /* sql */,
ROW_EXTRACTOR /* ResultSetExtractor */,
id /* args */
);
if (result != null) {
inputMessage.setParam1(result.get("param1"));
inputMessage.setId(result.get("description")); // Insert description
return;
}
} catch (final Exception e) {
logger.error(...);
}
final String param1 = ...
inputMessage.setParam1(param1);
inputMessage.setId(id); // Insert the ID
}
Я бы хотел использовать более функциональный подход для этого.Просто чтобы попробовать.
Я думал о разных решениях, но ни одно из них не может поддерживать ту же логику.
Как бы вы это сделали?Возможно ли это вообще?
Я на Java 8
, но вы можете добавить Java 11
классы и методы, если необходимо.
Нет необходимости "конвертировать" весь метод,Меня больше интересует часть после извлечения result
.Однако он тесно связан с блоком try - catch
.