当一个控制器有5个拦截器时,如何跳过2-3个拦截器



我已经编写了一个控制器,它调用service1方法,在到达该控制器之前,有5个拦截器被调用。

不,我有新的要求,根据个人资料或条件,将有2个工作流。因此,我正在编写另一个新的service2,它将在控制器中基于condn ex:调用

在控制器内部,基于条件i将使用service1方法或service2方法。

对于service1方法,我希望执行所有5个拦截器,而service2只希望执行1-2个拦截器。

你能帮我如何做到这一点吗?基于condn ,是否可以跳过为同一控制器调用的几个拦截器

无法从应用程序配置或某个中央/超级拦截器禁用拦截器。

从技术上讲,您可以让每个拦截器自己决定是否针对给定的请求执行它,但这不是一个好的解决方案。此解决方案意味着您的业务逻辑从控制器/服务层扩展到拦截器,但拦截器不应包含业务逻辑IMHO。

我建议你去掉你的3个拦截器,并将它们的逻辑转移到控制器中。

最新更新