首页 > 解决方案 > 如何在 spring rest api 中编程 404 错误?

问题描述

当没有找到任何分配时,我试图为 spring rest api 抛出 404 错误,但它不会接受我给出的异常?

Warehouse warehouse = warehouseRepository.findById(warehouseId).orElseThrow(new ResponseStatusException(HttpStatus.NOT_FOUND, "No warehouses with specified ID were found"));

它给了我这个编译错误:

原因:不存在类型变量 X 的实例,因此 ResponseStatusException 符合 Supplier<? 扩展 X>

这是我第一次制作休息 API,我应该以某种方式更改异常以使其正常工作吗?

标签: javaspringjacksonrest

解决方案


orElseThrow方法需要一个Supplier

Warehouse warehouse = warehouseRepository.findById(warehouseId)
    .orElseThrow(()-> new ResponseStatusException(HttpStatus.NOT_FOUND, 
        "No warehouses with specified ID were found"));

注意使用orElseThrow(() -> new ...


推荐阅读