我有可选对象
./../../../public/img/image.png
我有两种情况。如果存在对象,则第一个返回ResponseEntity.ok,第二个返回Return ResponseEntity.noContent()。build()。 我有功能
Optional<Instrument> instrument = instrumentService.findOne(id);
返回点后我需要写些什么?
答案 0 :(得分:1)
您可以使用orElse
:
return instrument
.map(instrument1 -> instrument1 -> {
instrument1.setValue(value);
return ResponseEntity.ok(instrumentMapper.toDto(instrumentRepository.save(instrument1))); })
.orElse(ResponseEntity.noContent().build());
并进一步构建默认值:
return instrument
.map(instrument1 -> instrument1 -> {
instrument1.setValue(value);
return ResponseEntity.ok(instrumentMapper.toDto(instrumentRepository.save(instrument1))); })
.orElseGet(() -> {
Intrument inst = new Intrument();
inst.setTitle("Not found");
return inst;
});