京淘项目模块分析:用户登;三级列表展现

本文详细介绍了京淘项目中的用户模块,包括用户登录验证接口、MD5加密、用户状态修改、删除、新增以及信息回显等功能的实现。用户登录后返回唯一密钥token,MD5用于保证信息传输安全。此外,还涉及到数据自动填充、全局异常处理等提高开发效率的策略。
摘要由CSDN通过智能技术生成

用户登录

用户登录验证接口

  • 请求路径: /user/login
  • 请求方式: POST
  • 请求参数
    在这里插入图片描述

返回的SysResult对象

  • 该对象主要的作用将后端服务器数据与前端进行交互.并不是业务数据.所以采用VO的方式进行封装.
package com.jt.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class SysResult {
   
    private Integer status; //定义状态码 200成功 201失败
    private String msg;     //服务器提示信息
    private Object data;    //服务器返回的数据

    //重载: 方法名相同,参数列表不同
    public static SysResult fail() {
   
        return new SysResult(201, "服务器处理失败", null);
    }

    public static SysResult success() {
   
        return new SysResult(200, "服务器处理成功", null);
    }

    public static SysResult success(Object data) {
   
        return new SysResult(200, "服务器处理成功", data);
    }

    //重载的原则: 参数之间不要耦合 JVM中利用"就近原则"导致业务有误
   /* public static SysResult success(String msg){
        return new SysResult(200, msg,null);
    }*/
    public static SysResult success(String msg, Object data) {
   
        return new SysResult(200, msg, data);
    }
}

用户登录业务流程

  • 如何表示用户已经登录? 密钥token
  • 说明: 当用户登录成功之后,后台服务器返回一个密钥信息.标识用户已经登录成功. 之后用户将密钥保存到本地,方便以后使用. 密钥是唯一的字符串.采用UUID的方式实现.
  • 如果没有密钥,返回到登录页面
    在这里插入图片描述

MD5说明

  • MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
  • MD5的加密算法 理论层面是不可逆的.所以不能被破解. 只能由x----->y 不能由y---->x 算法不允许

编辑UserController

package com.jt.controller;

import com.jt.pojo.User;
import com.jt.service.UserService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

/**
 * @author 刘昱江
 * 时间 2021/5/11
 */
@RestController
@CrossOrigin
@RequestMapping("/user")
public class UserController {
   

    @Autowired
    private UserService userService;

    /**
     * 需求: 根据用户名和密码实现用户登录,要求返回token
     * URL: /user/login
     * 请求参数: post  JSON {username:"xxx",password:"xxxx"}
     * 返回值: SysResult对象 (token)
     */
    @PostMapping("/login")
    public SysResult login(@RequestBody User user) {
   
        //执行后端登录操作,要求返回token密钥
        String token = userService.login(user);
        //判断token返回值是否有效
        if 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠哉悠哉'游仙儿

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值