图谱-后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

80 lines
2.9 KiB

//package com.teaching.backend.utils;
//
///**
// * @Author:youhang
// * @Date:2024-06-17-23:15
// * @Description:
// */
//
//
//
//import cn.hutool.json.JSONObject;
//import cn.hutool.json.JSONUtil;
//import com.teaching.backend.common.ErrorCode;
//import com.teaching.backend.exception.BusinessException;
//import org.aspectj.lang.JoinPoint;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Before;
//import org.aspectj.lang.reflect.MethodSignature;
//import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
//import org.springframework.stereotype.Component;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.lang.reflect.Method;
//import java.util.Arrays;
//import java.util.List;
//import java.util.stream.Collectors;
//
//
//@Component
//@Aspect
//public class ParamOutAspect {
//
//
// //对包下所有的controller结尾的类的所有方法增强
// private final String executeExpr = "execution(public * com.teaching.backend.controller..*.*(..))";
//
// @Before(executeExpr)
// public void processLog(JoinPoint joinPoint) {
// Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
// //获取方法名称
// String methodName = method.getName();
// //获取参数名称
// LocalVariableTableParameterNameDiscoverer paramNames = new LocalVariableTableParameterNameDiscoverer();
// String[] params = paramNames.getParameterNames(method);
//
//
// //获取参数f
// Object[] args = joinPoint.getArgs();
// //过滤掉request和response,不能序列化
// List<Object> filteredArgs = Arrays.stream(args)
// .filter(arg -> (!(arg instanceof HttpServletRequest) && !(arg instanceof HttpServletResponse))).collect(Collectors.toList());
// final Object[] array = filteredArgs.stream().toArray();
//
// for (int i = 0; i < array.length; i++) {
// System.out.println(array[i]);
// String jsonStr = JSONUtil.toJsonStr(array[i]);
// System.out.println(jsonStr);
// Class<?> myClass = array[i].getClass(); // 获取类的 Class 对象
// System.out.println("class "+myClass);
// JSONObject entries = JSONUtil.parseObj(jsonStr);
// System.out.println(entries);
// // 遍历JSONObject的属性
// entries.forEach((key, value) -> {
// if(value == null || "".equals(value)){
// //可以设置为空的字段
// if(key.equals( "sortField")||key.equals( "sortOrder")){
// }else{
// throw new BusinessException(ErrorCode.PARAMS_NULL);
// }
//
// }
// System.out.println(key + ": " + value);
// });
// }
// }
// }
//
//
//