springmvc-参数处理器,请求拦截处理器

注解参数解析,如果某个参数中有这个注解就会被解析为此值

@Component
@Slf4j
public class XXXXArgumentResolver implements HandlerMethodArgumentResolver {
    @Override
    public boolean supportsParameter(MethodParameter parameter) {
        return parameter.hasParameterAnnotation(XXXX.class);
    }

    @Override
    public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest request, WebDataBinderFactory webDataBinderFactory) throws Exception {
		//这里做一些逻辑来处理参数
        return pin;
    }
}

处理程序拦截器,拦截匹配的请求,做相关的业务处理。

@Slf4j
@Component
public class LoginXXXInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
       //做一些处理
    }
}

将处理器和拦截器注册入mvc

@Configuration
public class WebMvcAdapter extends WebMvcConfigurationSupport {
    /**
     * 登录拦截器
     */
    @Resource
    private LoginXXXInterceptor loginInterceptor;
    @Resource
    private RequestTimesLimitInterceptor requestTimesLimitInterceptor;

    @Resource
    private XXXXArgumentResolver xXXXArgumentResolver;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginInterceptor).addPathPatterns("/**");
        registry.addInterceptor(requestTimesLimitInterceptor).addPathPatterns("/**");
        super.addInterceptors(registry);
    }

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        argumentResolvers.add(xXXXArgumentResolver);
        super.addArgumentResolvers(argumentResolvers);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值