请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

项目正常启动,代码也没有报错 ,提交验证后出现这个问题。

图片描述package com.example.his.api.mis.controller;

import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import com.example.his.api.common.R;
import com.example.his.api.mis.controller.form.LoginForm;
import com.example.his.api.mis.service.UserService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/mis/user")
public class UserController {
@Resource
private UserService userService;

@PostMapping("/login")
//@Valid 做后端验证 根据 LoginForm 中的验证注解验证变量内容
public R login(@RequestBody @Valid LoginForm form) {
    //把Form对象转换成Map对象。因为Form对象中含有后端验证表达式,该对象仅用于Web层,不适合传给业务层
        Map param = BeanUtil.beanToMap(form);

    //获取登陆用户的主键值
    Integer userId = userService.login(param);
    System.out.println(userId);
    if (userId != null) {
        /*
         * 实现同端互斥效果,把该用户Web端的令牌销毁。
         * 在其他浏览器上已经登陆的该账户,令牌就失效了,实现同端互斥。
         */
        StpUtil.logout(userId,"Web");

        //通过会话对象,向SaToken传递userId
        StpUtil.login(userId,"Web");
        //生成新的令牌字符串,标记该令牌是给Web端用户使用的
        String token = StpUtil.getTokenValueByLoginId(userId, "Web");
        //获取用户的权限列表
        List<String> permissions = StpUtil.getPermissionList();
        //向前端返回数据
        return R.ok().put("result", true).put("token", token).put("permissions", permissions);
    }
    //如果登陆失败,返回给前端的result是false
    return R.ok().put("result", false);
}

}

正在回答 回答被采纳积分+3

1回答

神思者 2023-12-12 16:18:05
应该是你配置的restkit插件不对
1 回复 有任何疑惑可以回复我~
  • 提问者 qq_北辰元凰_0 #1
    插件配置 http 改成了 https  之后 又报了个 Invalid bound statement (not found): com.example.his.api.db.dao.UserDao.login 这个问题。
    回复 有任何疑惑可以回复我~ 2023-12-12 17:26:02
  • 神思者 回复 提问者 qq_北辰元凰_0 #2
    你的项目能不能正常启动成功?
    回复 有任何疑惑可以回复我~ 2023-12-12 18:08:19
  • 提问者 qq_北辰元凰_0 回复 神思者 #3
    正常能启动成功,就是请求的时候 报Invalid bound statement (not found): com.example.his.api.db.dao.UserDao.login 这个错误
    回复 有任何疑惑可以回复我~ 2023-12-12 18:09:34
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信