新建 json 转换器模块

This commit is contained in:
click33
2022-04-26 18:59:55 +08:00
parent 30758464ac
commit 26393d17dc
14 changed files with 306 additions and 113 deletions

View File

@@ -11,6 +11,8 @@ import cn.dev33.satoken.context.second.SaTokenSecondContext;
import cn.dev33.satoken.dao.SaTokenDao;
import cn.dev33.satoken.dao.SaTokenDaoDefaultImpl;
import cn.dev33.satoken.exception.SaTokenException;
import cn.dev33.satoken.json.SaJsonTemplate;
import cn.dev33.satoken.json.SaJsonTemplateDefaultImpl;
import cn.dev33.satoken.listener.SaTokenListener;
import cn.dev33.satoken.listener.SaTokenListenerDefaultImpl;
import cn.dev33.satoken.stp.StpInterface;
@@ -171,6 +173,24 @@ public class SaManager {
}
return saTemp;
}
/**
* JSON 转换器 Bean
*/
private volatile static SaJsonTemplate saJsonTemplate;
public static void setSaJsonTemplate(SaJsonTemplate saJsonTemplate) {
SaManager.saJsonTemplate = saJsonTemplate;
}
public static SaJsonTemplate getSaJsonTemplate() {
if (saJsonTemplate == null) {
synchronized (SaManager.class) {
if (saJsonTemplate == null) {
setSaJsonTemplate(new SaJsonTemplateDefaultImpl());
}
}
}
return saJsonTemplate;
}
/**
* StpLogic集合, 记录框架所有成功初始化的StpLogic

View File

@@ -0,0 +1,21 @@
package cn.dev33.satoken.json;
import java.util.Map;
/**
* JSON 转换器
*
* @author kong
*
*/
public interface SaJsonTemplate {
/**
* 将 json 字符串解析为 Map
*
* @param jsonStr json 字符串
* @return 转换后的 Map 对象
*/
public Map<String, Object> parseJsonToMap(String jsonStr);
}

View File

@@ -0,0 +1,22 @@
package cn.dev33.satoken.json;
import java.util.Map;
import cn.dev33.satoken.exception.ApiDisabledException;
/**
* JSON 相关操作接口
*
* @author kong
*
*/
public class SaJsonTemplateDefaultImpl implements SaJsonTemplate {
/**
* 将 json 字符串解析为 Map
*/
public Map<String, Object> parseJsonToMap(String jsonStr) {
throw new ApiDisabledException("未实现具体的 json 转换器");
};
}