mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 12:56:28 +08:00
5.0
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
package com.gitee.sop.gateway.config;
|
||||
|
||||
import com.gitee.sop.gateway.service.ParamExecutor;
|
||||
import com.gitee.sop.gateway.service.ParamExecutorImpl;
|
||||
import com.gitee.sop.gateway.service.impl.ParamExecutorImpl;
|
||||
import com.gitee.sop.gateway.service.RouteService;
|
||||
import com.gitee.sop.gateway.service.RouteServiceImpl;
|
||||
import com.gitee.sop.gateway.service.impl.RouteServiceImpl;
|
||||
import com.gitee.sop.gateway.service.Serde;
|
||||
import com.gitee.sop.gateway.service.SerdeImpl;
|
||||
import com.gitee.sop.gateway.service.impl.SerdeGsonImpl;
|
||||
import com.gitee.sop.gateway.service.impl.SerdeImpl;
|
||||
import com.gitee.sop.gateway.service.interceptor.internal.ResultRouteInterceptor;
|
||||
import com.gitee.sop.gateway.service.manager.ApiManager;
|
||||
import com.gitee.sop.gateway.service.manager.IsvApiPermissionManager;
|
||||
@@ -27,7 +28,6 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* @author 六如
|
||||
@@ -84,6 +84,20 @@ public class GatewayConfig {
|
||||
return new RedisIsvApiPermissionManagerImpl();
|
||||
}
|
||||
|
||||
// 默认使用fastjson2序列化
|
||||
@Bean
|
||||
@ConditionalOnProperty(value = "gateway.serialize.json-formatter", havingValue = "fastjson2", matchIfMissing = true)
|
||||
public Serde serdeFastjson2() {
|
||||
log.info("[init]使用fastjson2序列化");
|
||||
return new SerdeImpl();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnProperty(value = "gateway.serialize.json-formatter", havingValue = "gson")
|
||||
public Serde serdeGson() {
|
||||
log.info("[init]使用gson序列化");
|
||||
return new SerdeGsonImpl();
|
||||
}
|
||||
|
||||
// DEFAULT ROUTE INTERCEPTOR
|
||||
@Bean
|
||||
|
@@ -1,24 +0,0 @@
|
||||
package com.gitee.sop.gateway.service;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.gitee.sop.gateway.util.JsonUtil;
|
||||
import com.gitee.sop.gateway.util.XmlUtil;
|
||||
|
||||
/**
|
||||
* @author 六如
|
||||
*/
|
||||
public class SerdeImpl implements Serde{
|
||||
@Override
|
||||
public String toJSONString(Object object) {
|
||||
return JsonUtil.toJSONString(object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toXml(Object object) {
|
||||
try {
|
||||
return XmlUtil.toXml(object);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.gitee.sop.gateway.service;
|
||||
package com.gitee.sop.gateway.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
@@ -9,10 +9,10 @@ import com.gitee.sop.gateway.request.ApiRequestContext;
|
||||
import com.gitee.sop.gateway.request.RequestFormatEnum;
|
||||
import com.gitee.sop.gateway.request.UploadContext;
|
||||
import com.gitee.sop.gateway.response.Response;
|
||||
import com.gitee.sop.gateway.util.JsonUtil;
|
||||
import com.gitee.sop.gateway.service.ParamExecutor;
|
||||
import com.gitee.sop.gateway.service.Serde;
|
||||
import com.gitee.sop.gateway.util.RequestUtil;
|
||||
import com.gitee.sop.gateway.util.ResponseUtil;
|
||||
import com.gitee.sop.gateway.util.XmlUtil;
|
||||
import com.gitee.sop.support.dto.FileData;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.io.IOUtils;
|
@@ -1,4 +1,4 @@
|
||||
package com.gitee.sop.gateway.service;
|
||||
package com.gitee.sop.gateway.service.impl;
|
||||
|
||||
import com.gitee.sop.gateway.common.ApiInfoDTO;
|
||||
import com.gitee.sop.gateway.common.enums.YesOrNoEnum;
|
||||
@@ -8,6 +8,7 @@ import com.gitee.sop.gateway.response.ApiResponse;
|
||||
import com.gitee.sop.gateway.response.ApiResponseLower;
|
||||
import com.gitee.sop.gateway.response.NoCommonResponse;
|
||||
import com.gitee.sop.gateway.response.Response;
|
||||
import com.gitee.sop.gateway.service.ResultWrapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.gitee.sop.gateway.service;
|
||||
package com.gitee.sop.gateway.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
@@ -12,6 +12,9 @@ import com.gitee.sop.gateway.request.ApiRequestContext;
|
||||
import com.gitee.sop.gateway.request.UploadContext;
|
||||
import com.gitee.sop.gateway.response.ApiResponse;
|
||||
import com.gitee.sop.gateway.response.Response;
|
||||
import com.gitee.sop.gateway.service.GenericServiceInvoker;
|
||||
import com.gitee.sop.gateway.service.ResultWrapper;
|
||||
import com.gitee.sop.gateway.service.RouteService;
|
||||
import com.gitee.sop.gateway.service.interceptor.RouteInterceptor;
|
||||
import com.gitee.sop.gateway.service.validate.Validator;
|
||||
import com.gitee.sop.gateway.util.ClassUtil;
|
@@ -0,0 +1,22 @@
|
||||
package com.gitee.sop.gateway.service.impl;
|
||||
|
||||
import com.alibaba.nacos.shaded.com.google.gson.Gson;
|
||||
import com.alibaba.nacos.shaded.com.google.gson.GsonBuilder;
|
||||
|
||||
/**
|
||||
* @author 六如
|
||||
*/
|
||||
public class SerdeGsonImpl extends SerdeImpl {
|
||||
|
||||
Gson gson;
|
||||
|
||||
@Override
|
||||
public String toJSONString(Object object) {
|
||||
return gson.toJson(object);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doInit() {
|
||||
gson = new GsonBuilder().setDateFormat(dateFormat).create();
|
||||
}
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
package com.gitee.sop.gateway.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONWriter;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.gitee.sop.gateway.service.Serde;
|
||||
import com.gitee.sop.gateway.util.XmlUtil;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
/**
|
||||
* @author 六如
|
||||
*/
|
||||
public class SerdeImpl implements Serde {
|
||||
|
||||
static JSONWriter.Context context;
|
||||
|
||||
@Value("${gateway.serialize.date-format}")
|
||||
protected String dateFormat;
|
||||
|
||||
@Override
|
||||
public String toJSONString(Object object) {
|
||||
return JSON.toJSONString(object, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toXml(Object object) {
|
||||
try {
|
||||
return XmlUtil.toXml(object);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
context = new JSONWriter.Context();
|
||||
context.setDateFormat(dateFormat);
|
||||
|
||||
this.doInit();
|
||||
}
|
||||
|
||||
protected void doInit() {
|
||||
|
||||
}
|
||||
}
|
@@ -15,6 +15,10 @@ gateway.manager.isv=${gateway.manager.cache-type}
|
||||
gateway.manager.secret=${gateway.manager.cache-type}
|
||||
# isv api permission manager,local/redis
|
||||
gateway.manager.isv-api-perm=${gateway.manager.cache-type}
|
||||
# json serialize formatter: fastjson2/gson
|
||||
gateway.serialize.json-formatter=fastjson2
|
||||
# serialize date format
|
||||
gateway.serialize.date-format=yyyy-MM-dd HH:mm:ss
|
||||
|
||||
####### parameter name config #######
|
||||
api.app-id-name=app_id
|
||||
|
Reference in New Issue
Block a user