Java 标识API方法的调用代码路径
我感兴趣的是找到一种模式或策略,用于识别哪些代码路径称为特定的API方法(或一组方法) 以下是我的应用程序中的一些差异示例:Java 标识API方法的调用代码路径,java,spring,Java,Spring,我感兴趣的是找到一种模式或策略,用于识别哪些代码路径称为特定的API方法(或一组方法) 以下是我的应用程序中的一些差异示例: 调用方通过公开的REST控制器调用API 调用方通过其他一些内部API调用API 调用方通过用户创建的插件调用API 该应用程序使用Spring进行核心布线以及Spring安全性。但是,调用方可以是任何用户,因此使用Spring安全上下文检查身份验证或其相关授权似乎并不合适。同一个用户可以通过一个公开的RESTURI调用API方法,或者通过任意插件输入方式调用API方法
正在寻找关于如何管理此类问题的建议,无论是使用额外的Spring特性功能,还是其他想法或库。事实上,这是一个很好的问题 据我所知,有以下几种选择:
- 半复制API(上文已提及)
- 不同用户(或用户组)
- 使用反射获取调用堆栈(但很难做到,不推荐)
- 您可以使用某种授权令牌“每会话”来代替用户,并查看会话是通过HTTP调用创建的还是“内部”会话
- 检查某种会话id并保存在创建会话的会话中(内部或外部…)