美文网首页Java学习笔记
SpringMVC 请求体参数增强

SpringMVC 请求体参数增强

作者: 想象之中丶意料之外 | 来源:发表于2022-04-22 11:20 被阅读0次

请求参数增强

  • 使用@ControllerAdvice这个控制器增强注解,来对所有Controller进行增强(当然也可以指定包下或带有指定注解的Controller类)。
  • 增强后实现 RequestBodyAdvice 接口,完成请求体参数增强。在实现的接口中完成请求参数加工操作。
/**
 * 请求参数在加工。
 * 利用 Controller增强注解 + 实现 RequestBodyAdvice 请求完成
 * 继承 RequestBodyAdviceAdapter类,是为了方便有些方法使用spring框架默认执行。
 * RequestBodyAdviceAdapter类中,已经重写了 beforeBodyRead、afterBodyRead、handleEmptyBody这三个方法。
 * 为了方便,继承这个类后,我只需要重写自己需要的方法即可。
 */
@ControllerAdvice
public class CheckRequestBodyAdvice extends RequestBodyAdviceAdapter implements RequestBodyAdvice {
    @Override
    public boolean supports(MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
        System.out.println(methodParameter.getMethod().getName());
        System.out.println(type.getTypeName());
        System.out.println(aClass);
        return true;
    }

    @Override
    public Object afterBodyRead(Object body, HttpInputMessage httpInputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
        System.out.println(body);
        return body;
    }
}

注意

  • 如果请求体没有内容,则拦截不到。比如:GET请求,请求参数在URL上,不在请求体里。

相关文章

网友评论

    本文标题:SpringMVC 请求体参数增强

    本文链接:https://www.haomeiwen.com/subject/nmngertx.html