gpt4 book ai didi

java - 来自 @ControllerAdvice 的 Spring basePackageClasses 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:36 26 4
gpt4 key购买 nike

我有定义

@ControllerAdvice(basePackageClasses = MyClass.class)
public class MyClassExceptionHandler extends ResponseEntityExceptionHandler {

@ExceptionHandler(value = { MultipartException.class, FileUploadBase.FileSizeLimitExceededException.class })
@ResponseBody
protected ResponseEntity<Object> maximumFileSizeLimitExceeded(RuntimeException ex, WebRequest request) {

String bodyOfResponse = "message";
return new ResponseEntity<>(new RestErrorInfo(ex, bodyOfResponse), HttpStatus.BAD_REQUEST);

}
}

如果我有 @ControllerAdvice(basePackageClasses = MyClass.class) 我的 ExceptionHandler 无法正常工作。

如果我的@ControllerAdvice我的ExceptionHandler工作正常。

有什么问题吗?我想将我的 ExceptionHandler 仅用于类 MyClass

最佳答案

我通过将处理程序的包添加到 springboot scan 中解决了这个问题。

@SpringBootApplication(scanBasePackages = "your.handler.package")

如果您使用 Spring Boot,请注意,默认情况下 Spring Boot 只扫描引导类的包和子包下的 bean。

因此,如果您用 @ControllerAdvice 注释的处理程序不在任何这些包中,则必须手动将其包添加到扫描中。

关于java - 来自 @ControllerAdvice 的 Spring basePackageClasses 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45074458/

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