💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
``` /** * @author 张跃帅 * @Description: Spring切面-工具 * @date 2020/08/12 */ public class JoinPointUtil { /** * 获取切面的参数json */ public static String getArgsJsonStr(JoinPoint joinPoint) { // 获取参数 Signature signature = joinPoint.getSignature(); // 参数名数组 String[] parameterNames = ((MethodSignature) signature).getParameterNames(); // 创建map对象 Map<String, Object> paramMap = MapUtil.newHashMap(); // 获取参数 Object[] args = joinPoint.getArgs(); // 遍历 for (int i = 0; i < args.length; i++) { // 获取参数 Object paramObj = args[i]; // 判断 if (ObjectUtil.isNotEmpty(paramObj) && isFilterObj(paramObj)) { // 判断 if (JSONUtil.isTypeJSON(StrUtil.toString(paramObj))) { // 添加 paramMap.put(parameterNames[i], JSONUtil.parseObj(paramObj)); } else { // 添加 paramMap.put(parameterNames[i], paramObj); } } } // 创建Hutool的JSONConfig对象 JSONConfig jsonConfig = new JSONConfig(); // 设置不忽略null jsonConfig.setIgnoreNullValue(false); // 返回 return JSONUtil.toJsonStr(paramMap, jsonConfig); } /** * 判断-是否需要拼接参数 * 备注:过滤掉HttpServletRequest、MultipartFile、HttpServletResponse等类型参数 */ private static boolean isFilterObj(Object arg) { // 返回 return !(arg instanceof MultipartFile) && !(arg instanceof HttpServletRequest) && !(arg instanceof HttpServletResponse); } }