gpt4 book ai didi

spring-mvc - 如何在 Spring MVC 中的 @controllerAdvice 或 @RestControllerAdvice 中找到 Controller 名称?

转载 作者:行者123 更新时间:2023-12-04 03:02:25 25 4
gpt4 key购买 nike

    @ControllerAdvice
public class GlobalExceptionHandler {

@ExceptionHandler(NoHandlerFoundException.class)
public ResponseEntity<Error> handle(NoHandlerFoundException ex){
String message = "HTTP " + ex.getHttpMethod() + " for " + ex.getRequestURL() + " is not supported.";
Error error = new Error(HttpStatus.NOT_FOUND.value(), message);
return new ResponseEntity<Error>(error, HttpStatus.NOT_FOUND);
}

}
  • 我将@ControllerAdvice 与@ExceptionHandler 一起使用。
  • 我需要在句柄方法中获取发生异常的 Controller 类名和包名或类对象
  • 最佳答案

    这应该工作

    @ControllerAdvice
    class AdviceA {

    @ExceptionHandler({SomeException.class})
    public ResponseEntity<String> handleSomeException(SomeException pe, HandlerMethod handlerMethod) {
    Class controllerClass = handlerMethod.getMethod().getDeclaringClass();
    //controllerClass.toString will give you fully qualified name
    return new ResponseEntity<>("SomeString", HttpStatus.BAD_REQUEST);
    }

    关于spring-mvc - 如何在 Spring MVC 中的 @controllerAdvice 或 @RestControllerAdvice 中找到 Controller 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922306/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com