java - 状态 NotFound 的自定义异常处理程序
问题描述
我想为 Spring Boot 的状态 NotFoundException 实现自定义异常处理程序:
@ExceptionHandler({ AccessDeniedException.class, NotFoundException.class })
public ResponseEntity<ErrorResponseDTO> accessDeniedExceptionHandler(final AccessDeniedException ex) {
......
}
我找不到什么是正确的进口NotFoundException
你知道什么例外对于这种情况什么是正确的进口?
解决方案
为 a 添加异常处理程序NoHandlerFoundException
:
@ExceptionHandler(NoHandlerFoundException.class)
public ResponseEntity<ErrorResponseDto> handle(NoHandlerFoundException e) {
// ...
}
或者让您的控制器建议扩展ResponseEntityExceptionHandler
并覆盖该handleNoHandlerFoundException
方法。
顺便说一句,您的代码片段为两个不同的异常声明了一个处理程序,而方法参数final AccessDeniedException ex
显式地期望一个类型为 的异常AccessDeniedException
。我建议要么声明多个处理程序方法,要么将参数概括为一个Exception
。
推荐阅读
- pytest - DJANGO_SETTINGS_MODULE 用于 Pytest 中的 2 个不同项目
- c++ - 从显示的函数中打印库值
- python - 更新模型字段时出现 Django MultiValueDictKeyError
- nearprotocol - NEAR Validator 节点状态为 Applying
- android - Android App Bundle,禁用基本模块或所有模块上的语言和密度拆分
- flutter - flutter)如何让按钮位置根据屏幕大小自动调整?
- pandas - Pandas:如何将聚合应用于组的不同过滤子集?(类似于 SQL 中的选择性聚合)
- python - Flask-SQLAlchemy 集成测试在每次使用外键约束的测试后清除数据库
- javascript - Selenium 测试 - 确定/取消弹出窗口立即消失
- python - 如何保存 datetime 对象 prettytable 以排序为日期而不是字符串