我正在用 SpringBoot 构建一个 REST API,并决定在 SpringBoot 的最新版本中构建它。
我遇到的问题是,由于某种原因,我的代码似乎没有达到OrElseGet,或者我不知道如何处理这些Optional东西。
我想要做的是200在数据库中找到对象时返回状态代码和实体,404如果未找到则返回状态代码。
但是,当指定无效代码时,我null在响应正文中获取字符串和状态代码 200。
这是我的代码:
@GetMapping("/{codigo}")
public ResponseEntity<Optional<Categoria>> searchByCode(@PathVariable Long codigo) {
return Optional
.ofNullable( categoriaRepository.findById(codigo) )
.map(cat-> ResponseEntity.ok().body(cat))
.orElseGet(() -> ResponseEntity.notFound().build());
}
任何帮助,将不胜感激。
相关分类