问题标签 [controller-advice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - @ControllerAdvice 在 Spring Boot 中永远不会被触发
我正在尝试在我的 Spring Boot 应用程序中为所有类型的 RestClientResponseException 创建自己的自定义响应
控制器类抛出的自定义异常:
我的 ExceptionHandler 类是这样的:
我已经尝试了所有可能的情况,例如:
抛出异常并调用带有@ExceptionHandler注解的方法后似乎没有任何拦截
现在卡住了一段时间,需要一些帮助。非常感谢您对此的帮助。
spring - @ControllerAdvice 不工作 Spring 5.1.6
我正在尝试使用 Kotlin 在 Spring 中实现错误处理程序,但看起来应用程序无法识别它:我总是得到/error
页面并且未处理异常。
@EnableWebMvc
,在其他类似问题中建议,对我不起作用。
这是我的实际代码:
以下是我的@RestController
:
UserEntity
如果邮件不是唯一的,则抛出异常:
我究竟做错了什么?我展示的文件共享同一个包。
编辑:以下是 Spring LOG 上的堆栈跟踪
spring - Spring-boot Rest :使用 ControllerAdvice 但保留默认处理程序
我的基本需求是捕获用户定义的异常并返回通用响应。为此,我将@ControllerAdvice 与@ExceptionHandler 一起使用。请参阅下面的示例
PersonNotFoundException 按预期处理。但是其他异常默认处理程序消失了,只返回没有正文的 Http 代码。显然,这是扩展 ResponseEntityExceptionHandler 时的预期行为。我可以覆盖其他默认异常,但这并不理想。使用通用的 Exception.class 处理程序将迫使我为所有这些返回一个 HTTP 代码。
所以我正在寻找一种方法来在 ControllerAdvice 或类似中全局处理我自己的异常,而不必覆盖默认异常处理程序
谢谢
java - 如果我的库也可能有带有我不知道的订单注释的 ControllerAdvices,我应该在 ControllerAdvice 上使用什么订单值?
我有一个 Spring 4 应用程序,其中包含多个用 @Order(someValue) 注释的 ControllerAdvice。此外,我在我的一个外部库中发现了一个 ControllerAdvice,它也用@Order(someValue) 进行了注释。
我的理解是,当控制器抛出异常时,ControllerAdvices 的顺序决定了在 ControllerAdvices 中搜索该特定异常的顺序。我现在认为在我的外部库中也可能有其他带有 @Order 注释的 ControllerAdvices。但是,我无法下载所有库并搜索所有 ControllerAdvices 并检查它们的 Order 值。
如果我希望它在其他 ControllerAdvice 之前捕获异常,我如何知道在特定 ControllerAdvice 上放置什么 Order 值?我应该为我的用例使用不同的方法吗?
请参阅下面的代码。
我希望 ExceptionHandlerControllerTwo 在 ExceptionHandlerControllerOne 之后和 ExceptionHandlerControllerThree 之前捕获异常。
我为 ExceptionHandlerControllerTwo 尝试了不同的 Order 值。数字 1 到 90 似乎以我想要的方式捕获异常。我的外部库中可能还有其他我不知道的 ControllerAdvice。
在我的应用程序中:
在外部库中:
spring - 控制建议如何捕获异常
我试图了解 ControllerAdvice 在 SpringBoot 中的工作方式。建议每个应用程序应该有一个 ControllerAdvice。但我的问题是这个 ControllerAdvice 如何与控制器相关联并捕获异常。那么基本上什么是底层?
java - ResponseEntityExceptionHandler 的 Spring 依赖项
我无法正确导入ResponseEntityExceptionHandler
我的 pom xml 文件中缺少什么?
java - 如何捕获 ResponseEntityExceptionHandler 的响应以创建 JWE 加密
我有基于 springboot 的宁静网络服务。我有 CryptoResponseBodyAdvice 来捕获来自控制器的响应并从响应正文中创建 JWE 并将 JWE 作为 API 响应发送。 公共类 CryptoResponseBodyAdvice 实现 ResponseBodyAdvice
当一些异常发生并且请求到达异常解析器时,麻烦就来了。在这种异常情况下,响应不受CryptoResponseBodyAdvice 公共类 ExceptionResolver 扩展 ResponseEntityExceptionHandler的干扰
您能否建议哪种 ControllerAdvice 或其他东西可以帮助我捕获来自 ResponseEntityExceptionHandler 的响应,以便我可以从中创建 JWE。
java - ControllerAdvice 没有捕捉到 BindingResult 错误
我正在尝试覆盖 BindingResult 中的默认错误消息。我实现了这样的控制器建议
和我的控制器
和测试用例
我的问题是如何获取 bindingResult 默认错误消息?我想测试验证输入字段时收到的错误消息。
spring-boot - @ControllerAdvice 没有捕获 MySQLIntegrityConstraintViolationException
我正在制作一个附加了 MySQL 数据库的 Spring Boot 应用程序。
我已经在用户表中将用户名标记为唯一,当我尝试使用现有用户名添加新用户时,数据库会抛出MySQLIntegrityConstraintViolationException 。
有没有办法让 ControllerAdvice 处理这个异常?我试着像这样制作处理程序:
但它不起作用。
java - 使用 ControllerAdvice 的 Spring Boot REST CustomException 未显示在日志或标准输出中
在使用 Java 1.8、lombok 和 Spring Boot 2.1.5.RELEASE 的项目中,创建了一个自定义异常,该异常未显示在我的日志文件或标准输出中的任何位置。
pom.xml:
休息控制器:
产品未找到异常:
控制器建议:
当我点击我的 REST 端点时:
它返回一个 HTTP 404 - 它应该。
grep -rnw logs.log -e 'ERROR'
但是我在我的logs.log(使用)文件和/或标准输出中的任何地方都没有看到错误?
另外,试过了ProductNotException extend RuntimeException
,还是不行。。。
我可能做错了什么?