我在使用Java 8 Optional
的地方有一些代码,当我没有得到所需的结果时,我想在其中将log
一个错误。
如以下示例所示,我在尝试登录commented
的一行上显示Error Message
:
@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;
}
附言-我只想使用
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);
});