|  |  |  | @ -2,6 +2,7 @@ package com.gitee.sop.gatewaycommon.result; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import com.alibaba.fastjson.JSON; | 
			
		
	
		
			
				
					|  |  |  |  | import com.alibaba.fastjson.JSONObject; | 
			
		
	
		
			
				
					|  |  |  |  | import com.alibaba.fastjson.JSONValidator; | 
			
		
	
		
			
				
					|  |  |  |  | import com.alibaba.fastjson.parser.Feature; | 
			
		
	
		
			
				
					|  |  |  |  | import com.gitee.sop.gatewaycommon.bean.ApiConfig; | 
			
		
	
		
			
				
					|  |  |  |  | import com.gitee.sop.gatewaycommon.bean.DefaultRouteInterceptorContext; | 
			
		
	
	
		
			
				
					|  |  |  | @ -41,9 +42,11 @@ public abstract class BaseExecutorAdapter<T, R> implements ResultExecutor<T, R> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String GATEWAY_CODE_NAME = "code"; | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String GATEWAY_MSG_NAME = "msg"; | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String GATEWAY_RESPONSE_NAME = "response"; | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String ARRAY_START = "["; | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String ARRAY_END = "]"; | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String ROOT_JSON = "{'items':%s}".replace("'", "\""); | 
			
		
	
		
			
				
					|  |  |  |  |     private static final String SINGLE_ROOT_JSON = "{'single_response':%s}".replace("'", "\""); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     static { | 
			
		
	
		
			
				
					|  |  |  |  |         HTTP_STATUS_ERROR_ENUM_MAP.put(HttpStatus.OK.value(), ErrorEnum.SUCCESS); | 
			
		
	
	
		
			
				
					|  |  |  | @ -205,6 +208,10 @@ public abstract class BaseExecutorAdapter<T, R> implements ResultExecutor<T, R> | 
			
		
	
		
			
				
					|  |  |  |  |         if (serviceResult.startsWith(ARRAY_START) && serviceResult.endsWith(ARRAY_END)) { | 
			
		
	
		
			
				
					|  |  |  |  |             return String.format(ROOT_JSON, serviceResult); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         // 如果直接返回单个数据类型,需进行包装,变成:{"single_response": ...}
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (!JSONValidator.from(serviceResult).validate() || JSONValidator.from(serviceResult).getType() == JSONValidator.Type.Value) { | 
			
		
	
		
			
				
					|  |  |  |  |             return String.format(SINGLE_ROOT_JSON, new StringBuilder(serviceResult).insert(0, "\"").append("\"").toString()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return serviceResult; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |