| package com.mzl.flower.base.interceptor; | 
|   | 
| import com.google.common.collect.ImmutableList; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.core.MethodParameter; | 
| import org.springframework.http.MediaType; | 
| import org.springframework.http.converter.HttpMessageConverter; | 
| import org.springframework.http.server.ServerHttpRequest; | 
| import org.springframework.http.server.ServerHttpResponse; | 
| import org.springframework.web.bind.annotation.ControllerAdvice; | 
| import org.springframework.web.servlet.LocaleResolver; | 
| import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; | 
|   | 
| import java.util.List; | 
|   | 
| @ControllerAdvice | 
| public class CodeDecorateInterceptor implements ResponseBodyAdvice<Object> { | 
|   | 
|     @Autowired | 
|     private CodeDecorator codeDecorator; | 
|   | 
|     @Autowired | 
|     private LocaleResolver localeResolver; | 
|   | 
|     @Override | 
|     public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> clazz) { | 
|         String methodName = methodParameter.getMethod().getName(); | 
|         List<String> skipList = ImmutableList.of("api-docs"); | 
|         return !skipList.contains(methodName); | 
|     } | 
|   | 
|     @Override | 
|     public Object beforeBodyWrite(Object object, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> clazz | 
|             , ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { | 
|         return codeDecorator.decorate(object); | 
|     } | 
| } |