From 8de2c3a838299d597153dbe5d83d82a9032a3773 Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Wed, 1 Mar 2023 09:52:11 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20#I6IB27=20CommonJoinPointUtil=E7=B1=BB=E4=B8=ADgetA?= =?UTF-8?q?rgsJsonString=E5=9C=A8=E6=9F=90=E4=BA=9B=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8B=E5=87=BA=E7=8E=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/.env.development | 2 +- .../common/util/CommonJoinPointUtil.java | 33 ++++++++++++------- .../src/main/resources/application.properties | 4 +-- .../src/test/java/vip/xiaonuo/Test.java | 5 ++- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/snowy-admin-web/.env.development b/snowy-admin-web/.env.development index 75bd9e0d..e763baea 100644 --- a/snowy-admin-web/.env.development +++ b/snowy-admin-web/.env.development @@ -5,7 +5,7 @@ NODE_ENV = development VITE_TITLE = Snowy # 接口地址 -VITE_API_BASEURL = http://127.0.0.1:82 +VITE_API_BASEURL = http://127.0.0.1:9999 # 本地端口 VITE_PORT = 81 diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/util/CommonJoinPointUtil.java b/snowy-common/src/main/java/vip/xiaonuo/common/util/CommonJoinPointUtil.java index 582fc725..02bd5910 100644 --- a/snowy-common/src/main/java/vip/xiaonuo/common/util/CommonJoinPointUtil.java +++ b/snowy-common/src/main/java/vip/xiaonuo/common/util/CommonJoinPointUtil.java @@ -12,13 +12,18 @@ */ package vip.xiaonuo.common.util; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.reflect.MethodSignature; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Map; /** * Spring切面工具类 @@ -35,27 +40,33 @@ public class CommonJoinPointUtil { * @date 2022/9/2 15:51 */ public static String getArgsJsonString(JoinPoint joinPoint) { - StringBuilder argsJson = new StringBuilder(); + Signature signature = joinPoint.getSignature(); + // 参数名数组 + String[] parameterNames = ((MethodSignature) signature).getParameterNames(); + // 构造参数组集合 + Map map = MapUtil.newHashMap(); Object[] args = joinPoint.getArgs(); - for (Object arg : args) { - if (!isFilterObject(arg)) { - if (ObjectUtil.isNotNull(arg)) { - argsJson.append(JSONUtil.toJsonStr(arg)).append(" "); + for (int i = 0; i < args.length; i++) { + if(ObjectUtil.isNotEmpty(args[i]) && isUsefulParam(args[i])) { + if(JSONUtil.isTypeJSON(StrUtil.toString(args[i]))) { + map.put(parameterNames[i], JSONUtil.parseObj(args[i])); + } else { + map.put(parameterNames[i], JSONUtil.toJsonStr(args[i])); } } } - return argsJson.toString().trim(); + return JSONUtil.toJsonStr(map); } /** - * 判断是否需要拼接参数,过滤掉HttpServletRequest,MultipartFile,HttpServletResponse等类型参数 + * 判断是否需要拼接的参数,过滤掉HttpServletRequest,MultipartFile,HttpServletResponse等类型参数 * * @author xuyuxiang * @date 2022/9/2 15:51 */ - private static boolean isFilterObject(Object arg) { - return arg instanceof MultipartFile || - arg instanceof HttpServletRequest || - arg instanceof HttpServletResponse; + private static boolean isUsefulParam(Object arg) { + return !(arg instanceof MultipartFile) && + !(arg instanceof HttpServletRequest) && + !(arg instanceof HttpServletResponse); } } diff --git a/snowy-web-app/src/main/resources/application.properties b/snowy-web-app/src/main/resources/application.properties index 0f290229..73440045 100644 --- a/snowy-web-app/src/main/resources/application.properties +++ b/snowy-web-app/src/main/resources/application.properties @@ -1,7 +1,7 @@ ######################################### # server configuration ######################################### -server.port=82 +server.port=9999 ######################################### # spring profiles configuration @@ -24,7 +24,7 @@ spring.servlet.multipart.max-file-size=100MB spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/snowy?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true spring.datasource.dynamic.datasource.master.username=root -spring.datasource.dynamic.datasource.master.password=123456 +spring.datasource.dynamic.datasource.master.password=12345678 spring.datasource.dynamic.strict=true # postgres diff --git a/snowy-web-app/src/test/java/vip/xiaonuo/Test.java b/snowy-web-app/src/test/java/vip/xiaonuo/Test.java index a9270e71..efbbc256 100644 --- a/snowy-web-app/src/test/java/vip/xiaonuo/Test.java +++ b/snowy-web-app/src/test/java/vip/xiaonuo/Test.java @@ -12,6 +12,8 @@ */ package vip.xiaonuo; +import cn.hutool.json.JSONUtil; + /** * TestMain方法 * @@ -20,6 +22,7 @@ package vip.xiaonuo; */ public class Test { public static void main(String[] args) { - + String jsonStr = JSONUtil.toJsonStr("dasdasdas,234233|}dasfsed"); + System.out.println(jsonStr); } }