我的 Quarkus REST 应用程序中有几个GET
接受 ID 的调用。
/rest/v1/employee/{id}/id
我正在使用活动记录模式来处理数据库请求。来自 Spring,JdbcTemplate
只要结果集为空,就会抛出异常。我将使用捕获此异常ControllerAdvice
并抛出适当的响应代码(在本例中为 404)。这也适用于所有其他例外情况。
有没有办法配置 Panache / Hibernate 在空结果集上抛出异常?现在,我必须手动检查结果是否为空/null,然后抛出相应的异常。
例如,这是我现在必须做的:
@GET
@Path("/employee/{id}/id")
public Employee getEmployeeById(@PathParam("id") Integer id) {
Employee employee = Employee.findById(id);
if (employee == null) {
throw new EmptyResultDataAccessException("No results found");
}
return Employee.findById(id);
}
当我宁愿在异常处理程序中捕获异常并简单地将调用返回到findById(...)
:
@GET
@Path("/employee/{id}/id")
public Employee getEmployeeById(@PathParam("id") Integer id) {
return Employee.findById(id);
}