BaseResponseAdvice.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.fdkankan.common.response;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.fdkankan.common.response.ResultData;
  4. import org.springframework.core.MethodParameter;
  5. import org.springframework.http.MediaType;
  6. import org.springframework.http.converter.HttpMessageConverter;
  7. import org.springframework.http.server.ServerHttpRequest;
  8. import org.springframework.http.server.ServerHttpResponse;
  9. import org.springframework.web.bind.annotation.RestControllerAdvice;
  10. import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
  11. import java.util.Objects;
  12. @RestControllerAdvice
  13. public class BaseResponseAdvice implements ResponseBodyAdvice<Object> {
  14. @Override
  15. public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {
  16. return true;
  17. }
  18. @Override
  19. public Object beforeBodyWrite(Object body, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
  20. // if(serverHttpRequest.getURI().getPath().contains("feign")){
  21. // return body;
  22. // }
  23. System.out.println("响应拦截成功");
  24. // if(Objects.isNull(body)){
  25. // return ResultData.ok();
  26. // }
  27. if(body instanceof String){
  28. return JSONObject.toJSONString(ResultData.ok(body));
  29. }
  30. if (body instanceof ResultData) {
  31. return body;
  32. } else {
  33. return ResultData.ok(body);
  34. }
  35. }
  36. }