mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 21:01:38 +08:00 
			
		
		
		
	!4 修复 RestControllerAdvice 统一返回导致 Knife4j 文档请求异常
Merge pull request !4 from Yoofff/dev
This commit is contained in:
		@@ -29,6 +29,8 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
 | 
				
			|||||||
import com.fasterxml.jackson.core.JsonProcessingException;
 | 
					import com.fasterxml.jackson.core.JsonProcessingException;
 | 
				
			||||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
					import com.fasterxml.jackson.databind.ObjectMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.hutool.core.util.StrUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import top.charles7c.cnadmin.common.annotation.NoResponseAdvice;
 | 
					import top.charles7c.cnadmin.common.annotation.NoResponseAdvice;
 | 
				
			||||||
import top.charles7c.cnadmin.common.model.vo.R;
 | 
					import top.charles7c.cnadmin.common.model.vo.R;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -41,13 +43,15 @@ import top.charles7c.cnadmin.common.model.vo.R;
 | 
				
			|||||||
@RestControllerAdvice
 | 
					@RestControllerAdvice
 | 
				
			||||||
@RequiredArgsConstructor
 | 
					@RequiredArgsConstructor
 | 
				
			||||||
public class GlobalResponseBodyAdviceHandler implements ResponseBodyAdvice<Object> {
 | 
					public class GlobalResponseBodyAdviceHandler implements ResponseBodyAdvice<Object> {
 | 
				
			||||||
 | 
					    private static final String[] EXCLUDE = {"MultipleOpenApiWebMvcResource", "SwaggerConfigResource",};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final ObjectMapper objectMapper;
 | 
					    private final ObjectMapper objectMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> converterType) {
 | 
					    public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> converterType) {
 | 
				
			||||||
        return !methodParameter.getParameterType().isAssignableFrom(R.class)
 | 
					        return !methodParameter.getParameterType().isAssignableFrom(R.class)
 | 
				
			||||||
            && !methodParameter.hasMethodAnnotation(NoResponseAdvice.class);
 | 
					            && !methodParameter.hasMethodAnnotation(NoResponseAdvice.class)
 | 
				
			||||||
 | 
					            && !StrUtil.equalsAny(methodParameter.getDeclaringClass().getSimpleName(), EXCLUDE);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user