@Aspect
@Component
public class AddParamsAspect {
@Before("@annotation(com.your.package.annotation.AddParams)")
public void addParamsToRequest(JoinPoint joinPoint) {
Object[] args = joinPoint.getArgs();
for (Object arg : args) {
try {
Field field1 = arg.getClass().getDeclaredField("newParam1");
field1.setAccessible(true);
field1.set(arg, "value1");
Field field2 = arg.getClass().getDeclaredField("newParam2");
field2.setAccessible(true);
field2.set(arg, "value2");
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface AddParams {
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1c4fb71444714bb9b3fc792fd8936df1.jpeg#pic_center)
private static String compareColor(String propertyName, int value1, int value2) {
String color1 = convertColorToString(value1);
String color2 = convertColorToString(value2);
return value1 == value2 ? "" : propertyName + "由" + color1 + "变为" + color2;
}
private static String convertColorToString(int colorValue) {
switch (colorValue) {
case 1:
return "红色";
case 2:
return "蓝色";
case 3:
return "黑色";
default:
return "未知颜色";
}
}