Bladeren bron

响应结果转换报错优化

dengsixing 2 jaren geleden
bovenliggende
commit
5492d78ba2
1 gewijzigde bestanden met toevoegingen van 8 en 5 verwijderingen
  1. 8 5
      src/main/java/com/fdkankan/gateway/filter/AccessLogFilter.java

+ 8 - 5
src/main/java/com/fdkankan/gateway/filter/AccessLogFilter.java

@@ -272,11 +272,14 @@ public class AccessLogFilter  implements GlobalFilter, Ordered {
                             DataBufferUtils.release(join);
                             String responseResult = new String(content, StandardCharsets.UTF_8);
 
-                            ResultData resultData = JSON.parseObject(responseResult, ResultData.class);
-                            gatewayLog.setCode(resultData.getCode());
-                            gatewayLog.setMessage(resultData.getMessage());
-                            gatewayLog.setResponseData(JSON.toJSONString(resultData.getData()));
-
+                            HttpHeaders headers = response.getHeaders();
+                            MediaType contentType = headers.getContentType();
+                            if(MediaType.APPLICATION_JSON.isCompatibleWith(contentType)){
+                                ResultData resultData = JSON.parseObject(responseResult, ResultData.class);
+                                gatewayLog.setCode(resultData.getCode());
+                                gatewayLog.setMessage(resultData.getMessage());
+                                gatewayLog.setResponseData(JSON.toJSONString(resultData.getData()));
+                            }
 
                             return bufferFactory.wrap(content);
                         }));