目录
七、根据用户名和密码查询用户
7.1 接口说明
功能描述:查询功能,根据参数中的用户名和密码查询指定用户
接口路径:GET /query
参数说明:
form表单格式
参数 | 说明 | 是否必须 | 数据类型 | 默认值 |
---|---|---|---|---|
username | 用户名,格式为6~15位字母、数字、下划线 | 是 | String | 无 |
password | 用户密码,格式为6~25位字母、数字、下划线 | 是 | String | 无 |
返回结果:用户的json格式数据
{
"id": 6572312,
"username":"test",
"phone":"13688886666",
"created": 1342432424
}
状态码:
-
200:注册成功
-
400:用户名或密码错误
-
500:服务器内部异常,注册失败
7.2 Controller
/**
* 用户验证
* @param username
* @param password
* @return
*/
@GetMapping("query")
public ResponseEntity<User> queryUser(@RequestParam("username")String username,@RequestParam("password")String password){
User user = this.userService.queryUser(username,password);
if (user == null){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
}
return ResponseEntity.ok(user);
}
7.3 Service
public User queryUser(String username, String password) {
//1.查询
User record = new User();
record.setUsername(username);
User user = this.userMapper.selectOne(record);
//2.校验用户名
if (user == null){
return null;
}
//3. 校验密码
boolean result = CodecUtils.passwordConfirm(username + password,user.getPassword());
if (!result){
return null;
}
//4.用户名密码都正确
return user;
}
7.4 测试
发起请求:
数据库中:
八、在注册页进行测试
在注册页填写信息:
提交发现页面自动跳转到了登录页,然后查看数据库: