商城-使用者註冊-根據使用者名稱和密碼查詢使用者

shenzhen_zsw發表於2019-06-18

7.根據使用者名稱和密碼查詢使用者

7.1.介面說明

功能說明

查詢功能,根據引數中的使用者名稱和密碼查詢指定使用者

介面路徑

GET /query

引數說明:

form表單格式

引數說明是否必須資料型別預設值
username使用者名稱,格式為4~30位字母、數字、下劃線String
password使用者密碼,格式為4~30位字母、數字、下劃線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) {
    // 查詢
    User record = new User();
    record.setUsername(username);
    User user = this.userMapper.selectOne(record);
    // 校驗使用者名稱
    if (user == null) {
        return null;
    }
    // 校驗密碼
    if (!user.getPassword().equals(CodecUtils.md5Hex(password, user.getSalt()))) {
        return null;
    }
    // 使用者名稱密碼都正確
    return user;
}

要注意,查詢時也要對密碼進行加密後判斷是否一致。

7.4.測試

我們通過RestClient測試:
在這裡插入圖片描述

8.在註冊頁進行測試

在註冊頁填寫資訊:
在這裡插入圖片描述

提交發現頁面自動跳轉到了登入頁,檢視資料庫:
在這裡插入圖片描述

相關文章