erupt在使用的时候通过下面注入eruptUserService获取不到用户:
// 获取登录用户上下文信息
@RestController
public class TestController{
@Autowired
private EruptUserService eruptUserService;
@Autowired
private EruptContextService eruptContextService;
@RequstMapping("test")
public void test(){
// 获取当前登录用户ID
Long uid = eruptUserService.getCurrentUid();
// 获取当前登录用户对象(eruptUser)
EruptUser eruptUser = eruptUserService.getCurrentEruptUser();
// 获取当前用户基础信息(不查数据库)
AdminUserinfo adminUserinfo = eruptUserService.getAdminUserInfo();
// 获取当前请求token
String token = eruptContextService.getCurrentToken();
// 获取当前访问菜单
EruptMenu eruptMenu = eruptContextService.getCurrentEruptMenu();
// 获取erupt上下文类对象
// 获取的是有Erupt注解的类
Class<?> clazz = eruptContextService.getContextEruptClass();
}
}
获取不到是因为没有给传递token,作为api必须给传token。反之如果是用服务端渲染的模板,比如freemarker就可以使用@Autowire注入并获取到用户。