【发布时间】:2019-11-28 08:50:59
【问题描述】:
我想实现 Spring 端点以从 DB 获取数据。
@GetMapping("/notification/{id}")
public ResponseEntity<?> getNotificationByTransactionId(@PathVariable Integer id) {
return notificationService
.findByTransactionId(id)
.map(g -> NotificationNewDTO.builder()
.id(g.getId())
.status(g.getStatus())
.updated_at(g.getUpdated_at())
.build()
)
.map(ResponseEntity::ok)
.orElseGet(() -> notFound().build());
}
如果在 DB 中找到注释,有什么方法可以只返回空的 NotificationNewDTO 对象吗?
【问题讨论】:
-
你不是已经在这里了吗
.orElseGet(() -> notFound().build())...? -
这会返回状态 404 而不是空对象。
-
return ResponseEntity.ok(notificationService.findByTransactionId(id).map(g -> ...).orElse(NotificationNewDTO.builder().build())) -
hm...我在地图前得到
Syntax error on token ")", ElidedSemicolonAndRightBrace。 -
我的例子中的括号没有错。无论如何解决它应该是微不足道的......你没有字面上复制省略号,是吗?
标签: java spring rest spring-boot spring-data-jpa