@RequestMapping拦截多个请求

//直接上代码
@RequestMapping(value={"dayAttendanceCount","psdayAttendanceCount"})

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果系统存在多个入口,并且您只希望在特定的入口进行拦截器的过滤,您可以使用以下方法: 1. 使用拦截路径进行过滤: 在拦截器配置中,您可以通过指定拦截路径来过滤特定的入口。例如,如果您只想在`/api`开头的请求入口进行拦截器的过滤,可以使用`addPathPatterns`方法来指定拦截路径。示例代码如下: ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Autowired private CustomInterceptor customInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(customInterceptor).addPathPatterns("/api/**"); } } ``` 在上述示例中,我们只将拦截器应用于以`/api`开头的请求入口。 2. 使用条件注解进行过滤: 您可以使用条件注解来指定拦截器在特定入口上生效。例如,如果您只想在某个特定的Controller类或方法上应用拦截器,可以使用`@RequestMapping`或自定义注解来标记该类或方法,并在拦截器中使用条件注解来匹配。示例代码如下: ```java @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface CustomInterceptorFilter { // 自定义注解 } ``` ```java public class CustomInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 在请求处理之前执行逻辑 if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; if (handlerMethod.hasMethodAnnotation(CustomInterceptorFilter.class) || handlerMethod.getBeanType().isAnnotationPresent(CustomInterceptorFilter.class)) { // 在特定的Controller类或方法上应用拦截器 return true; } } return false; } // 其他方法... } ``` 在上述示例中,我们定义了一个自定义的注解`CustomInterceptorFilter`,并在拦截器中使用`preHandle`方法检查Handler是否标记了该注解。如果标记了该注解,则应用拦截器的逻辑。 使用上述方法,您可以根据特定的入口进行拦截器的过滤。根据您的业务需求,选择适合您的方式进行过滤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值