我有一些使用 Java 8 Optional
的代码,当我没有得到所需的结果时,我想在其中记录
错误。
如以下示例所示,我在尝试记录错误消息
时收到错误的行上进行了注释
:
@PutMapping("/organs/{id}")
public Organ updateorgan(@PathVariable(value = "id") Long organId,
@Valid @RequestBody Organ organDetails) {
Organ organ = organRepository.findById(organId)
.orElseThrow(() ->
// LOG.log(Level.SEVERE,"Organ with id "+organId + "not found");
new ResourceNotFoundException("organ", "id", organId)
);
organ.setName(organDetails.getName());
Organ updatedOrgan = organRepository.save(organ);
LOG.info("Updated organ details. Response :"+updatedOrgan);
return updatedOrgan;
}
P.S - 我只想使用 Java 8
方法,而不是传统方法。
提前致谢!
最佳答案
使其成为一个 lambda,其主体由大括号和 return
语句括起来,而不是表达式 lambda:
Organ organ = organRepository.findById(organId)
.orElseThrow(() -> {
LOG.log(Level.SEVERE,"Organ with id "+organId + "not found");
return new ResourceNotFoundException("organ", "id", organId);
});
关于java - 登录 Java 8 可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58930459/