@Slf4j
@RestController
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
}
3. 创建返回结果类(前后端约定)
- 前端页面处理数据模型分析
- 后端数据模型设计示例
/\*\*
\* 通用返回结果,服务端响应的数据最终都会封装成此对象
\* @param <T>
\*/
@Data
public class R<T> {
private Integer code; //编码:1成功,0和其它数字为失败
private String msg; //错误信息
private T data; //数据
private Map map = new HashMap(); //动态数据
//登录成功,返回code = 1,并返回数据
public static <T> R<T> success(T object) {
R<T> r = new R<T>();
r.data = object;
r.code = 1;
return r;
}
//登录失败,返回code = 0,并返回错误信息msg
public static <T> R<T> error(String msg) {
R r = new R();
r.msg = msg;
r.code = 0;
return r;
}
public R<T> add(String key, Object value) {
this.map.put(key, value);
return this;
}
}
此类是一个通用结果类,服务端响应的所有结果最终都会包装成此种类型返回给前端页面
4. 在controller中创建登录方法
处理逻辑如下:
- 将页面提交的密码password进行md5加密处理
- 根据页面提交的用户名username查询数据库
- 如果没有查询到则返回登录失败结果
- 密码比对,如果不一致则返回登录失败结果
- 查看员工状态,如果为已禁用状态(锁定字段status,1为正常,0为锁定),则返回员工已禁用结果
- 登录成功,将员工id存入Session并返回登录成功结果
@Slf4j
@RestController
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
/\*\*
\* 员工登录
\* @param request
\* @param employee
\* @return
\*/