介绍HandlerInterceptor拦截器的中文名。其实Interceptor也有拦截器的意思。这里添加一个Handler意味着这只是一个接口,具体的实现需要定制。时机:客户端访问服务端的控制器具体作用:访问前,访问后作用方式:处理请求或响应,添加日志,封装返回值,添加请求头属性。使用方法以通用返回值为例。1.自定义拦截器实现HandlerInterceptor并注册为Bean//通用返回值拦截器@ComponentpublicclassCommonResultInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponse)Handlerifinstance,Objecthandler){finalHandlerMethodhandlerMethod=(HandlerMethod)处理程序;finalClass>clazz=handlerMethod.getBeanType();final方法method=handlerMethod.getMethod();如果(clazz.isAnnotationPresent(CommonResult.class)){request.setAttribute(RESPONSE_RESULT,clazz.getAnnotation(CommonResult.class));}elseif(method.isAnnotationPresent(CommonResult.class)){request.setAttribute(RESPONSE_RESULT,method.getAnnotation(CommonResult.class));}}返回真;}}2.添加编译器@ConfigurationpublicclassWebAppConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){CommonResultInterceptor拦截器=newCommonResultInterceptor();registry.addInterceptor(拦截器);WebMvcConfigurer.super.addInterceptors(注册表);}}3.返回值的处理方式有很多种,比如添加拦截器等,这里我使用springboot的ResponseBodyAdvice接口@ControllerAdvicepublicclassCommonResultHandlerimplementsResponseBodyAdvice