Browse Source

fix: 修复上传文件失败

Walker 1 year ago
parent
commit
76bee434a4

+ 3 - 3
src/main/java/com/ywt/gateway/filter/GlobalCountAndLogFilter.java

@@ -53,7 +53,7 @@ import java.util.*;
 public class GlobalCountAndLogFilter implements GlobalFilter, Ordered {
     @Autowired
     private CodecConfigurer codecConfigurer;
-    private final List<HttpMessageReader<?>> messageReaders = codecConfigurer.getReaders();
+//    private final List<HttpMessageReader<?>> messageReaders = codecConfigurer.getReaders();
     private final Logger logger = LoggerFactory.getLogger(GlobalCountAndLogFilter.class);
     public static final String COUNTER_QUEUE_NAME = "gw:counter-queue";
     public static final String LOG_QUEUE_NAME = "gw:log-queue";
@@ -206,7 +206,7 @@ public class GlobalCountAndLogFilter implements GlobalFilter, Ordered {
                 //解析 application/x-www-form-urlencoded
                 resolvableType = ResolvableType.forClass(String.class);
             }
-            return messageReaders.stream().filter(reader -> reader.canRead(resolvableType, mutatedRequest.getHeaders().getContentType())).findFirst()
+            return codecConfigurer.getReaders().stream().filter(reader -> reader.canRead(resolvableType, mutatedRequest.getHeaders().getContentType())).findFirst()
                     .orElseThrow(() -> new IllegalStateException("no suitable HttpMessageReader.")).readMono(resolvableType, mutatedRequest, Collections.emptyMap()).flatMap(resolvedBody -> {
                         if (resolvedBody instanceof MultiValueMap) {
                             LinkedMultiValueMap map = (LinkedMultiValueMap) resolvedBody;
@@ -243,7 +243,7 @@ public class GlobalCountAndLogFilter implements GlobalFilter, Ordered {
      */
     @SuppressWarnings("unchecked")
     private Mono writeBodyLog(ServerWebExchange exchange, GatewayFilterChain chain, CountRecord countRecord, RequestRecord requestRecord) {
-        ServerRequest serverRequest = ServerRequest.create(exchange, messageReaders);
+        ServerRequest serverRequest = ServerRequest.create(exchange, codecConfigurer.getReaders());
         Mono<String> modifiedBody = serverRequest.bodyToMono(String.class)
                 .flatMap(body -> {
                     requestRecord.setRequestBody(body);

+ 2 - 2
src/main/java/com/ywt/gateway/filter/RequestParamGlobalFilter.java

@@ -57,7 +57,7 @@ public class RequestParamGlobalFilter implements GlobalFilter, Ordered {
     /**
      * default HttpMessageReader
      */
-    private final List<HttpMessageReader<?>> messageReaders = codecConfigurer.getReaders();
+//    private final List<HttpMessageReader<?>> messageReaders = codecConfigurer.getReaders();
     /**
      * ReadJsonBody
      *
@@ -94,7 +94,7 @@ public class RequestParamGlobalFilter implements GlobalFilter, Ordered {
             /**
              * read body string with default messageReaders
              */
-            return ServerRequest.create(mutatedExchange, messageReaders).bodyToMono(String.class)
+            return ServerRequest.create(mutatedExchange, codecConfigurer.getReaders()).bodyToMono(String.class)
                     .doOnNext(objectValue -> {
                         log.debug("[GatewayContext]Read JsonBody:{}", objectValue);
                     }).then(chain.filter(mutatedExchange));