我越来越熟悉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