Spring Boot 包/端点/控制器层异常处理设计

zzoitvuj  于 2023-03-23  发布在  Spring
关注(0)|答案(2)|浏览(117)

因此,这里是我处理组件/包特定异常的需求。例如,对于包A,BAD请求应该返回spring默认的坏请求-响应,但是对于包B,它应该返回自定义响应。

tv6aics1

tv6aics11#

您可以使用@ExceptionHandler指定从代码中抛出的特定异常的行为。此外,您可以将异常处理程序限制为特定的包:

@ControllerAdvice(package = "com.example.b")
public class PackageBErrorHandler {

    @ResponseStatus(BAD_REQUEST)
    @ExceptionHandler
    @ResponseBody
    public ErrorDto handleValidationError(ConstraintValidationException e) {
        return ...; //build your custom response here
    }
}
raogr8fs

raogr8fs2#

您可以通过以下方式指定已处理的控制器:

@ControllerAdvice(assignableTypes = {MyController.class})
public class CoreExceptionHandler {
 ....
 ....
 ....
}

相关问题