【发布时间】:2023-03-10 14:05:01
【问题描述】:
我有这个用于返回 ID 的休息点:
@GetMapping("{id}")
public ResponseEntity<?> get(@PathVariable String id) {
return contractService
.findById(Integer.parseInt(id))
.map(mapper::toNewDTO)
.map(ResponseEntity::ok)
.orElseGet(() -> notFound().build());
}
DTO:
public class ContractNewDTO {
.....
private Integer terminal_id;
....
}
如何使用第二个 SQL 查询将 terminal_id 转换为终端名称?
我需要这样的东西:
......map(mapper::toNewDTO) -> 获取终端 ID 并进行另一个 SQL 查询以查找与此终端 ID 相关的名称并返回终端名称而不是终端 ID。
你能给我一些建议吗?
【问题讨论】:
-
你真正想向调用者返回什么?带有 id 和名称的 DTO?你的映射器不能也从contractService返回的实体中提取名称吗?
-
我想用这个名字返回他的 DTO。不,我需要进行第二次查询。
标签: java spring spring-boot mapping spring-rest