佛系Java程序员 2022-02-18 17:01 采纳率: 0%
浏览 256

如何在注解中使用变量值

问题遇到的现象和发生背景

现在是写了个通用controller,然后用shiro做权限校验,结果突然发现每个controller方法中requirepermissions注解的权限路径不一致,需在通用controller使用requirepermissions注解中并传入获取泛型名称的变量值

问题相关代码,请勿粘贴截图
@RequiresPermissions("sys:"+getNameT(clazz)+":delete")
public BaseResult<?> delete(String[] ids){
    try {
        return baseservice.delete(ids);
    ) catch (Exception e)
        e.printStackTrace();l
        return BaseResult.fail(); 
   }
};

public static String getNameT(Class<?> cls){
    return cls.getSimpleName().toLowerCase();
}

运行结果及报错内容

无法传入变量

我的解答思路和尝试过的方法

切面是否可以实现

我想要达到的结果

requirepermissions注解的值可以变化

  • 写回答

1条回答 默认 最新

  • 七号公园的忧伤 Java领域新星创作者 2022-02-18 18:39
    关注

    @RequiresPermissions是别人实现的,不能由你自己想传什么传什么
    想要自定义就自己实现个注解,然后利用切面对请求进行拦截

    评论

报告相同问题?

问题事件

  • 创建了问题 2月18日

悬赏问题

  • ¥15 (标签-考研|关键词-set)
  • ¥15 求修改代码,图书管理系统
  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题