From f3817aeef95b17b4e3274422da583eb4fdc4d9b0 Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Mon, 20 Nov 2023 14:32:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/config/CustomStringDeserializer.java | 13 ++++++++++--- .../coal/spring/config/GlobalExceptionHandler.java | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/spring/config/CustomStringDeserializer.java b/src/main/java/cn/lihongjie/coal/spring/config/CustomStringDeserializer.java index 62c1425d..0f1370c5 100644 --- a/src/main/java/cn/lihongjie/coal/spring/config/CustomStringDeserializer.java +++ b/src/main/java/cn/lihongjie/coal/spring/config/CustomStringDeserializer.java @@ -1,19 +1,18 @@ package cn.lihongjie.coal.spring.config; -import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.TreeNode; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ValueNode; import java.io.IOException; public class CustomStringDeserializer extends JsonDeserializer { @Override - public String deserialize(JsonParser p, DeserializationContext ctxt) - throws IOException { + public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { JsonToken currentToken = p.getCurrentToken(); @@ -26,6 +25,14 @@ public class CustomStringDeserializer extends JsonDeserializer { } else if (currentToken == JsonToken.VALUE_NUMBER_INT || currentToken == JsonToken.VALUE_NUMBER_FLOAT) { return String.valueOf(p.getNumberValue()); + } else if (currentToken == JsonToken.START_ARRAY) { + + TreeNode treeNode = p.readValueAsTree(); + + ObjectMapper mapper = (ObjectMapper) p.getCodec(); + + return mapper.writeValueAsString(treeNode); + } else if (currentToken == JsonToken.START_OBJECT) { TreeNode treeNode = p.readValueAsTree(); diff --git a/src/main/java/cn/lihongjie/coal/spring/config/GlobalExceptionHandler.java b/src/main/java/cn/lihongjie/coal/spring/config/GlobalExceptionHandler.java index 5adefe0b..c13518d4 100644 --- a/src/main/java/cn/lihongjie/coal/spring/config/GlobalExceptionHandler.java +++ b/src/main/java/cn/lihongjie/coal/spring/config/GlobalExceptionHandler.java @@ -41,13 +41,13 @@ public class GlobalExceptionHandler { public R handleException( RuntimeException ex, HttpServletRequest request, HandlerMethod handlerMethod) { logEx(ex, request, handlerMethod); - return R.fail("sysError", "系统异常"); + return R.fail("sysError", "系统异常: " + ex.getMessage()); } @ExceptionHandler(Exception.class) public R handleException( Exception ex, HttpServletRequest request, HandlerMethod handlerMethod) { logEx(ex, request, handlerMethod); - return R.fail("sysError", "系统异常"); + return R.fail("sysError", "系统异常: " + ex.getMessage()); } }