Вы можете упростить вашу инструкцию возврата, используя
return tnx.map(PaymentTransactions::getId)
.filter(id -> id != 0)
.map(id -> transactionService.get(id)
.stream()
.collect(Collectors.toList()))
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
Для более чистого подхода.
Кроме того, это
id -> transactionService.get(id)
.stream()
.collect(Collectors.toList()
может стать
id -> new ArrayList<>(transactionService.get(id)))
и поэтому у вас есть
tnx.map(Transaction::getId)
.filter(id -> id != 0)
.map(id -> new ArrayList<>(transactionService.get(id)))
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
Я также сомневаюсь, что вам нужно
id -> new ArrayList<>(transactionService.get(id))
Вместо этого этого достаточно
id -> transactionService.get(id)
Поскольку вы не можете коснуться этого List
на всех.