From e320a8e45bfb863f3129c3b7ad870e60bec5c564 Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Tue, 26 Apr 2022 19:11:48 +0800 Subject: [PATCH] =?UTF-8?q?json=20=E8=BD=AC=E6=8D=A2=E5=99=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=20toJsonString=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/dev33/satoken/json/SaJsonTemplate.java | 8 ++++++++ .../satoken/json/SaJsonTemplateDefaultImpl.java | 11 ++++++++++- .../spring/json/SaJsonTemplateForJackson.java | 14 ++++++++++++++ .../spring/json/SaJsonTemplateForJackson.java | 14 ++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplate.java b/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplate.java index 462cb7d2..df83d8f8 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplate.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplate.java @@ -10,6 +10,14 @@ import java.util.Map; */ public interface SaJsonTemplate { + /** + * 将任意对象转换为 json 字符串 + * + * @param obj 对象 + * @return 转换后的 json 字符串 + */ + public String toJsonString(Object obj); + /** * 将 json 字符串解析为 Map * diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplateDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplateDefaultImpl.java index 36552d0c..5f551611 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplateDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/json/SaJsonTemplateDefaultImpl.java @@ -12,11 +12,20 @@ import cn.dev33.satoken.exception.ApiDisabledException; */ public class SaJsonTemplateDefaultImpl implements SaJsonTemplate { + public static final String ERROR_MESSAGE = "未实现具体的 json 转换器"; + + /** + * 将任意对象转换为 json 字符串 + */ + public String toJsonString(Object obj) { + throw new ApiDisabledException(ERROR_MESSAGE); + } + /** * 将 json 字符串解析为 Map */ public Map parseJsonToMap(String jsonStr) { - throw new ApiDisabledException("未实现具体的 json 转换器"); + throw new ApiDisabledException(ERROR_MESSAGE); }; } diff --git a/sa-token-starter/sa-token-reactor-spring-boot-starter/src/main/java/cn/dev33/satoken/reactor/spring/json/SaJsonTemplateForJackson.java b/sa-token-starter/sa-token-reactor-spring-boot-starter/src/main/java/cn/dev33/satoken/reactor/spring/json/SaJsonTemplateForJackson.java index 7d3cc806..3e3615fa 100644 --- a/sa-token-starter/sa-token-reactor-spring-boot-starter/src/main/java/cn/dev33/satoken/reactor/spring/json/SaJsonTemplateForJackson.java +++ b/sa-token-starter/sa-token-reactor-spring-boot-starter/src/main/java/cn/dev33/satoken/reactor/spring/json/SaJsonTemplateForJackson.java @@ -20,6 +20,20 @@ public class SaJsonTemplateForJackson implements SaJsonTemplate { * 底层 Mapper 对象 */ public ObjectMapper objectMapper = new ObjectMapper(); + + /** + * 将任意对象转换为 json 字符串 + * + * @param obj 对象 + * @return 转换后的 json 字符串 + */ + public String toJsonString(Object obj) { + try { + return objectMapper.writeValueAsString(obj); + } catch (JsonProcessingException e) { + throw new SaTokenException(e); + } + } /** * 将 json 字符串解析为 Map diff --git a/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/json/SaJsonTemplateForJackson.java b/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/json/SaJsonTemplateForJackson.java index a809fdf7..78b6766f 100644 --- a/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/json/SaJsonTemplateForJackson.java +++ b/sa-token-starter/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/json/SaJsonTemplateForJackson.java @@ -20,6 +20,20 @@ public class SaJsonTemplateForJackson implements SaJsonTemplate { * 底层 Mapper 对象 */ public ObjectMapper objectMapper = new ObjectMapper(); + + /** + * 将任意对象转换为 json 字符串 + * + * @param obj 对象 + * @return 转换后的 json 字符串 + */ + public String toJsonString(Object obj) { + try { + return objectMapper.writeValueAsString(obj); + } catch (JsonProcessingException e) { + throw new SaTokenException(e); + } + } /** * 将 json 字符串解析为 Map