问题标签 [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 - Spring Boot @RestControllAdvice 打印自定义错误消息以及正常错误消息。如何解决这个问题?
我的要求是打印自定义错误消息,但在响应正文中,它会给出通常的错误消息以及自定义错误消息,如下所示。时间戳部分不是必需的,但正在打印。请告诉我哪里出错了。
{ "status": "UNAUTHORIZED", "message": "Token_Expired" }{ "timestamp": "2021-04-17T19:50:27.748+00:00", "status": 401, "error": "Unauthorized", "message": "", "path": "/getEmployees" }
我的要求是在令牌过期时只获取响应正文
{ "status": "UNAUTHORIZED", "message": "Token_Expired" }
异常建议类
` @RestControllerAdvice 公共类 ExceptionControllerAdvice 扩展 ResponseEntityExceptionHandler{
}`
过滤器类
自定义消息的 TokenExpired 类
}
exception - 何时使用 ResponseStatusException 和 ControllerAdvice
Spring5 引入了 ResponseStatusException,这让我在什么情况下可以使用 ResponseStatusException 和 ControllerAdvice 陷入两难境地,因为它们都很相似。
谁能帮我这个。提前致谢。
spring-boot - 公共控制器建议使用来自各个服务的错误消息详细信息
我正在创建一个通用控制器建议类来处理跨多个服务的异常。由于每个服务都有自己的异常和错误消息,我希望控制器建议从每个服务中定义的 Enum 获取状态代码和错误消息,以保存状态和错误消息的详细信息。如果有人可以指出如何传递 Enum 类或让 controlleradvice 使用单个服务中的特定枚举类,那就太好了。
java - 带有 Lombok 的 Java 对象不能在 Spring Boot 中的切点注释类中工作
我在 Java 春季启动代码中使用了以下 DTO 对象。
异常响应DTO.java
我的全局类带有切入点表达式来处理 spring-boot 控制器抛出的异常。
尝试编译 spring boot 项目时出现错误。
java - 使用 JSF 控制器中抛出的 spring @ControllerAdvice 管理异常
有没有办法让我的自定义ExceptionHandler
注释管理在JSF控制器@ControllerAdvice
中抛出的异常?
我注意到@PostConstruct
方法中抛出的所有异常都不会被@ControllerAdvice
类捕获,而是JSF内置的异常处理程序管理它们。
我知道我可以扩展ExceptionHandlerFactory
,但我发现的所有指南都已过时,不清楚我是否可以将它用于我需要的功能。
java - 在 spring boot 2.4.4 rest java 11 应用程序中是否可以在 rest 控制器和控制器建议之间进行映射?
我有一个带有许多 Rest Controller 的 spring boot 2.4.4 java 11 应用程序。我正在使用 @ControllerAdvice 处理所有异常,包括自定义异常。无论如何,在执行时是否可以映射或识别涉及哪个控制器?或者有没有办法将一个@ControllerAdvice 与一个@RestController 映射?请指教。谢谢..
java - : 创建类路径资源中定义的名称为“requestMappingHandlerMapping”的 bean 时出错
我正在处理HttpRequestMethodNotSupportedException.class
和
MethodArgumentTypeMismatchException.class
我@ExceptionHandler
在 Class 中使用注释,@ControllerAdvice
但是当我尝试使用处理这两个异常并为它们编写两个单独的方法时,它会抛出上述错误并且还说是由 Ambiguous 引起的。我检查了歧义,但两种方法完全不同。
错误:
java - 是否可以在 ControllerAdvice 中有多个 ExceptionHandler 用于相同的异常但不同的 Web 请求?
我的任务是通过@ControllerAdvice
. 该项目有多个控制器方法。我有一个自定义异常,它是由其中一些控制器方法引发的。
为了处理这个异常,我有一个用注释的类,@ControllerAdvice
并且我写了一些@ExceptionHandler
方法。
这样做会引发IllegalStateException
Caused by: java.lang.IllegalStateException: Ambiguous @ExceptionHandler method mapped for [class com.action.resource.WebServiceContactException]
无论如何我可以定义多个@ExceptionHandler
处理相同异常WebServiceContactException
但处理不同网络请求的方法吗?
PS:我知道我可以编写@ExceptionHandler
方法而不在参数中提供请求对象,但我确实需要该对象来填充我的日志中的某些字段以用于监控目的。
java - Spring Boot Rest Controller 端点异常:HttpMediaTypeNotAcceptableException
我在未填写必填字段时遇到问题,日志中显示以下异常:
org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示
假设我有一个包含如下属性的对象 CodeRequest:
我的控制器将对象 CodeRequest 作为参数,如下所示:
当我将必填字段payloadFormatIndicator
留空时,我希望payloadFormatIndicator.required
在我的回复中收到一条错误消息。
但是,我在日志中收到以下错误消息:
org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示
我的异常处理程序如下所示:
看起来因为方法 generateQRCode 正在返回 ResponseEntity<BufferedImage>
它导致了这个问题,因为对于我控制器上的其他方法,异常处理工作正常。
我正在使用 swagger 测试其余的 API,内容类型如下所示:
知道如何解决吗?
java - 有谁知道如何使用@ControllerAdvice 处理ESAPI 中的入侵异常和验证异常我想使用@ControllerAdvice
有谁知道如何使用@ControllerAdvice 在 ESAPI 中处理入侵异常和验证异常,这是代码,我可以在方法中使用 try-catch 或抛出入侵异常和验证异常,但对于我的情况,我想使用@ControllerAdvice of SpringBoot String name = ESAPI.validator().getValidInput("验证输入命令", name,"SafeString", Integer.MAX_VALUE, true);