我有一个控制器,204-No Content当存储库返回的列表中不存在元素时,它应该返回。在 Spring 中,当我返回一个空列表时,响应状态为200-OK. 我找到了一种方法来解决这个设置我的控制器返回 a Response Entity,但是还有另一种方法吗?我不想抛出异常,因为我的用例中的空列表是有意义的,并且不能使用,@ResponseStatus因为在用例中列表也可以包含元素,所以我需要返回200-OK列表。
我使用这种方法解决了,但我想List<Parcela>在我的控制器中返回一个204-No content
@GetMapping(path = "/contratos/{numeroContrato}/parcelas", params = "status")
ResponseEntity<List<Parcela>> filtrarParcelasPorStatus(@PathVariable String documento,
@PathVariable String numeroContrato, @RequestParam StatusParcela status) {
try {
List<Parcela> parcelasFiltradas = veiculosUsecase.filtrarParcelasPorStatus(documento, numeroContrato,
status);
if (parcelasFiltradas.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<>(parcelasFiltradas, HttpStatus.OK);
}
catch (ParcelasNaoEncontradasException e) {
throw new NotFoundException(
"Nao e possivel listar as parcelas porque nao foi encontrado o contrato para o numero de contrato e cliente informado",
"Nao e possivel listar as parcelas porque nao foi encontrado o contrato para o numero de contrato e cliente informado",
HttpStatus.NOT_FOUND.toString(), "External - Veiculos API");
}
}
慕妹3242003
相关分类