报错原因:Sa-Token的部分API只能在Web上下文中调用,报这个错说明你调用Sa-Token的地方不在Web上下文中,请排查
- 是否在main方法中调用了Sa-Token的API
- 是否在带有@Async注解的方法中调用了Sa-Token的API
- 是否在一些丢失web上下文的子线程中调用了Sa-Token的APl例如MBatis-Plus 的 insertFill自动填充
- 是否在一些非Http协议的RPC框架中(例如Dubbo)调用了Sa-Token 的API
- 是否在SpringBoot启动初始化的方法中调用了Sa-Token的API,例如@PostConstruct
解决方案:先获取你想要的值,再把这个值当做一个参数传递到这些方法中,而不是直接从方法内调用Sa-Token的APl。