From 439f7c7c58ee27ff56b5093df71bc902c46f48fa Mon Sep 17 00:00:00 2001 From: Charles7c Date: Tue, 23 Jan 2024 20:09:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20API=20=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E5=86=85=E5=AE=B9=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #31 --- .../common/config/WebMvcConfiguration.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/WebMvcConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/WebMvcConfiguration.java index 968ca549..46126485 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/WebMvcConfiguration.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/WebMvcConfiguration.java @@ -16,11 +16,7 @@ package top.charles7c.continew.admin.common.config; -import java.util.List; -import java.util.Objects; - import lombok.RequiredArgsConstructor; - import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.ByteArrayHttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter; @@ -28,6 +24,9 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import java.util.List; +import java.util.Objects; + /** * Web MVC 配置 * @@ -49,15 +48,15 @@ public class WebMvcConfiguration implements WebMvcConfigurer { */ @Override public void extendMessageConverters(List> converters) { + converters.removeIf(MappingJackson2HttpMessageConverter.class::isInstance); + if (Objects.isNull(mappingJackson2HttpMessageConverter)) { + converters.add(0, new MappingJackson2HttpMessageConverter()); + } else { + converters.add(0, mappingJackson2HttpMessageConverter); + } // 自定义 converters 时,需要手动在最前面添加 ByteArrayHttpMessageConverter // 否则 Spring Doc OpenAPI 的 /*/api-docs/**(例如:/v3/api-docs/default)接口响应内容会变为 Base64 编码后的内容,最终导致接口文档解析失败 // 详情请参阅:https://github.com/springdoc/springdoc-openapi/issues/2143 - converters.add(new ByteArrayHttpMessageConverter()); - converters.removeIf(MappingJackson2HttpMessageConverter.class::isInstance); - if (Objects.isNull(mappingJackson2HttpMessageConverter)) { - converters.add(new MappingJackson2HttpMessageConverter()); - } else { - converters.add(mappingJackson2HttpMessageConverter); - } + converters.add(0, new ByteArrayHttpMessageConverter()); } }