我是新手Java 8开发者,不太理解以下代码的问题所在。这段代码的目的是当
Collection<User>
不为空时发送它,但如果集合为空,则发送HttpStatus.NOT_FOUND
实体响应。@RequestMapping(value = "/find/pks",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<User>> getUsers(@RequestBody final Collection<String> pks)
{
return StreamSupport.stream(userRepository.findAll(pks).spliterator(), false)
.map(list -> new ResponseEntity<>(list , HttpStatus.OK))
.orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND));
}
在以下代码中,Eclipse显示了错误:.orElse
对于类型
Stream<ResponseEntity<User>>
,方法orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND))
未定义。
我的基本接口方法如下所示:
Iterable<T> findAll(Iterable<PK> pks);