gpt4 book ai didi

spring - 寻找一种方法将@ControllerAdvice 分配给特定的 url 路径模式或 Controller

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

我一直在寻找一种方法来使 @ControllerAdvice 仅针对特定的 url 路径模式或一组 Controller 被调用。因此,我发现我可以创建自定义 ExceptionHandlerExceptionResolver 并通过 setMappedHandlerClasses() 将其分配给自定义 Controller 。问题是,还有一个默认的 ExceptionHandlerExceptionResolver,它也会获取我的 @ControllerAdvice。所以我最终得到了两个 ExceptionHandlerExceptionResolver,它们都有在 @ControllerAdvice 注释类中定义的处理程序。因此,虽然我的自定义 ExceptionHandlerExceptionResolver 并未在所有 bean 上调用,但默认的 bean 会调用。可能的解决方案是删除 @ControllerAdvice 并在自定义 ExceptionHandlerExceptionResolver 中手动分配自定义 ResponseEntityExceptionHandler。我尝试了最后一种方法,但似乎我必须重写 ExceptionHandlerExceptionResolver 中的很多方法,最后代码看起来很不干净。那么,有没有办法以不同的方式实现它,或者可以使用自定义处理程序清洁器实现 ExceptionHandlerExceptionResolver

最佳答案

正如 Ralph 所提到的 - 从 Spring 4(现在有一个稳定的版本)开始,ControlerAdvice 可以限制为具有指定注释的 Controler。看看:

http://blog.codeleak.pl/2013/11/controlleradvice-improvements-in-spring.html

(本文后半部分)了解更多详情。

关于spring - 寻找一种方法将@ControllerAdvice 分配给特定的 url 路径模式或 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098645/

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