我越来越熟悉Spring Boot,为此,我正在构建连接到mongo数据库的REST api,因此我正在使用Mongo存储库。我在控制器上有此端点,该端点负责从数据库中删除资源(在这种情况下为专家):

@RestController
@RequestMapping("/experts")
class ExpertController {
    @Autowired
    private  ExpertRepository repository;

    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
    public void deleteExpert(@PathVariable ObjectId id) {
        repository.delete(repository.findBy_id(id));
    }

} }


我的问题是,如果数据库中不存在所添加资源的id,我该如何引发异常?提前致谢 !

最佳答案

您可以简单地使用throw new MyCustomIdNotFoundException();

只要确保将您的控制器方法标记为抛出该异常即可。

然后,您可以使用Spring的异常处理工具来处理该异常,有关该好的文章,请参见:https://www.baeldung.com/exception-handling-for-rest-with-spring

08-08 00:28
查看更多