1 回答
TA贡献1893条经验 获得超10个赞
我的下面的方法是假设findAsyncById方法 returns CompletableFuture<Optional<ChildDTO>>。所以你可以使用过滤器检查lastName是否为空,如果为空则抛出异常orElseThrow
public CompletableFuture<ChildDTO> findChild(@NotEmpty String id) {
return ChildRepository.findAsyncById(id)
.thenApply(optionalChild -> optionalChild
.map(Child -> ObjectMapperUtils.map(Child, ChildDTO.class))
// If child last name is empty then return empty optional
.filter(child->!child.getLastName())
// If optional is empty then throw exception
.orElseThrow(CurrentDataNotFoundException::new))
添加回答
举报