可选中的ResponseEntity为ok或noContent,具体取决于是否存在



我目前以这种方式返回我的内容:

Optional<String> data = Optional.of("bla");
Optional<ResponseEntity<?>> response = data.map(ResponseEntity::ok);
return response.orElse(ResponseEntity::noContent);

有没有一种方法可以将maporElse组合起来,而不必先将它们保存到变量中?

(有点像这样,但没有演员问题(

Optional<String> data = Optional.of("bla");
return data.map(ResponseEntity::ok) // Type: ResponseEntity<String>
.orElse(ResponseEntity::noContent); // Type: ResponseEntity<?> => Cast Error

这是一个类似的问题

Optional.of<Object>("bla").orElse(2);

但我不知道如何使用地图

Optional.of("bla")
.<ResponseEntity<?>>map(ResponseEntity::ok)
.orElse(ResponseEntity::noContent);

不起作用

return data.map(ResponseEntity::ok(.orElseGet(((->ResponseEntity.noContent((.build(((;

你能准确描述你的问题是什么吗。

你就不能这样做吗:

return Optional.of("bla")
.map(ResponseEntity::ok)
.orElse(ResponseEntity::noContent);

最新更新