【已解决-实操篇】SaTokenException: 非Web上下文无法获取Request问题解决-实操篇
在上一篇《【理论篇】SaTokenException:非Web上下文无法获取Request问题解决-理论篇》中,凯哥(公众号:凯哥Java)介绍了了产生这个问题的源码在哪里,以及怎么解决的方案。没有给出实际操作步骤。本文,凯哥就通过threadLocal方案来解决。一、创建用于存放共享变量的对象代码如下:package com.kaigejava.dataanalysis;import&
在上一篇《【理论篇】SaTokenException: 非Web上下文无法获取Request问题解决 -理论篇》中,凯哥(公众号:凯哥Java)介绍了产生这个问题的源码在哪里,以及怎么解决的方案。没有给出实际操作步骤。
本文,凯哥就通过threadLocal方案来解决。
一、创建用于存放共享变量的对象
代码如下:
package com.kaigejava.dataanalysis;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Data
@Slf4j
public class ThreadShareDataDTO {
/**
* 是否拥有数据查看权限。
* 用来解决:SaToken,非Web上下文无法获取Request问题的
*/
private Boolean hasDataViewRole;
//防止new,生成单例类
private ThreadShareDataDTO(){}
/**
* ThreadLocal:将变量与当前线程绑定,相当于Map<Thread, value>
* 此处使用的是饱汉模式构造
原创不易,完成人机校验,阅读全文