Преглед изворни кода

网关日志打印适配 旧版result

dengsixing пре 2 година
родитељ
комит
4619629fee
1 измењених фајлова са 9 додато и 4 уклоњено
  1. 9 4
      src/main/java/com/fdkankan/gateway/filter/AccessLogFilter.java

+ 9 - 4
src/main/java/com/fdkankan/gateway/filter/AccessLogFilter.java

@@ -4,6 +4,7 @@ import cn.hutool.core.exceptions.ExceptionUtil;
 import cn.hutool.core.net.URLDecoder;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ServerCode;
 import com.fdkankan.gateway.log.GatewayLog;
 import com.fdkankan.gateway.response.ResultData;
@@ -272,10 +273,14 @@ public class AccessLogFilter  implements GlobalFilter, Ordered {
                             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()));
+                                JSONObject result = JSON.parseObject(responseResult);
+                                String message = result.getString("message");
+                                if(StrUtil.isEmpty(message)){
+                                    message = result.getString("msg");
+                                }
+                                gatewayLog.setCode(result.getInteger("code"));
+                                gatewayLog.setMessage(message);
+                                gatewayLog.setResponseData(JSON.toJSONString(result.get("data")));
                             }
 
                             return bufferFactory.wrap(content);