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()); } }