9、获取用户的详细信息接口,如果用户没有登录,我们提示用户登录

controller

//获取用户详细信息接口,当用户没有登录,我们强制让其登录
    @RequestMapping(value = "get_information.do",method = RequestMethod.POST)
    @ResponseBody
    public ServerResponse<User> get_information(HttpSession session){

        User currentUser= (User) session.getAttribute(Const.CURRENT_USER);
        if(currentUser==null){
            return  ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"未登录,请先登录!status=10");

        }

            return iUserService.getInformation(currentUser.getId());

    }

server: 根据当前登录用户登录的Id来查询用户的详细信息

    //获取用户的详细信息
    ServerResponse<User> getInformation(Integer userId);

serverImpl:

//获取用户的详细信息
    public ServerResponse<User> getInformation(Integer userId){
        User user= userMapper.selectByPrimaryKey(userId);
        if(user==null){
            ServerResponse.createByErrorMessage("找不到当前用户");
        }
        //将返回给Controlller层的密码设置为空,不传给前台
        user.setPassword(StringUtils.EMPTY);
        return  ServerResponse.createBySuccess(user);
    }

由于是调用逆向工程生成的方法,所以MapperMapper.xml无需我们自己手写
Mapper

    User selectByPrimaryKey(Integer id);

Mapper.xml

<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select
    <include refid="Base_Column_List" />
    from mmall_user
    where id = #{id,jdbcType=INTEGER}
  </select>

接口测试:
Ⅰ:用户未登录情况下:


image.png

Ⅱ:用户登陆情况下:


image.png

这里我们需要注意一点的是,当我们将详细信息返回给客户端的时候,我们是将密码置空的~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,428评论 25 708
  • 此类属性全部为项目属性 1、flex-grow:定义项目放大比例 默认为0(即使有剩余空间都不分配)。值为num;...
    东东丶酱阅读 811评论 0 0
  • 多想往回,挽回你 每夜将什么遗忘掉 却想不起来得恰巧 似乎是相同的频道 循环投影你的容貌 伸手却是触摸不到 只能无...
    FTHEG阅读 284评论 0 3
  • 注:本文纯属虚构。每篇一个小故事。(图片为自己在纽约拍的) 没有名字的人 无名就像没有生命,仅仅只有身体的躯壳,无...
    元一余阅读 251评论 2 1

友情链接更多精彩内容