From c4713a63f88a72a4aaabaa70fe4a7ea08262fa60 Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期二, 15 四月 2025 16:09:17 +0800 Subject: [PATCH] 优化 --- docs/UserController_API_Test.md | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/weiwojc/controller/UserController.java | 5 2 files changed, 288 insertions(+), 2 deletions(-) diff --git a/docs/UserController_API_Test.md b/docs/UserController_API_Test.md new file mode 100644 index 0000000..ec28246 --- /dev/null +++ b/docs/UserController_API_Test.md @@ -0,0 +1,285 @@ +# UserController 鎺ュ彛娴嬭瘯鏂囨。 + +## 1. 鐢ㄦ埛娉ㄥ唽鎺ュ彛 + +### 鎺ュ彛淇℃伅 +- 璇锋眰璺緞锛歚/api/users/register` +- 璇锋眰鏂规硶锛歅OST +- 璇锋眰浣撶被鍨嬶細application/json + +### 璇锋眰鍙傛暟 +```json +{ + "nickname": "鐢ㄦ埛鏄电О", + "accountName": "璐﹀彿鍚�", + "password": "瀵嗙爜" +} +``` + +### 娴嬭瘯鐢ㄤ緥 + +#### 鎴愬姛鍦烘櫙 +1. 姝e父娉ㄥ唽 + - 璇锋眰鍙傛暟锛� + ```json + { + "nickname": "娴嬭瘯鐢ㄦ埛", + "accountName": "test123", + "password": "password123" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 200, + "message": "娉ㄥ唽鎴愬姛", + "data": { + "id": 1, + "nickname": "娴嬭瘯鐢ㄦ埛", + "accountName": "test123" + } + } + ``` + +#### 澶辫触鍦烘櫙 +1. 璐﹀彿鍚嶅凡瀛樺湪 + - 璇锋眰鍙傛暟锛� + ```json + { + "nickname": "娴嬭瘯鐢ㄦ埛", + "accountName": "existing_user", + "password": "password123" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "璐﹀彿鍚嶅凡瀛樺湪" + } + ``` + +2. 璐﹀彿鍚嶆牸寮忛敊璇� + - 璇锋眰鍙傛暟锛� + ```json + { + "nickname": "娴嬭瘯鐢ㄦ埛", + "accountName": "ab", // 灏戜簬4浣� + "password": "password123" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "璐﹀彿鍚嶅繀椤绘槸4-16浣嶅瓧姣嶃�佹暟瀛楁垨涓嬪垝绾�" + } + ``` + +3. 瀵嗙爜鏍煎紡閿欒 + - 璇锋眰鍙傛暟锛� + ```json + { + "nickname": "娴嬭瘯鐢ㄦ埛", + "accountName": "test123", + "password": "123" // 灏戜簬6浣� + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "瀵嗙爜蹇呴』鏄�6-16浣嶅瓧姣嶃�佹暟瀛楁垨涓嬪垝绾�" + } + ``` + +4. 蹇呭~瀛楁涓虹┖ + - 璇锋眰鍙傛暟锛� + ```json + { + "nickname": "", + "accountName": "", + "password": "" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "鐢ㄦ埛鍚嶄笉鑳戒负绌�" + } + ``` + +## 2. 鐢ㄦ埛鐧诲綍鎺ュ彛 + +### 鎺ュ彛淇℃伅 +- 璇锋眰璺緞锛歚/api/users/login` +- 璇锋眰鏂规硶锛歅OST +- 璇锋眰浣撶被鍨嬶細application/json + +### 璇锋眰鍙傛暟 +```json +{ + "accountName": "璐﹀彿鍚�", + "password": "瀵嗙爜" +} +``` + +### 娴嬭瘯鐢ㄤ緥 + +#### 鎴愬姛鍦烘櫙 +1. 姝e父鐧诲綍 + - 璇锋眰鍙傛暟锛� + ```json + { + "accountName": "test123", + "password": "password123" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 200, + "message": "鐧诲綍鎴愬姛", + "data": "eyJhbGciOiJIUzI1NiJ9..." // JWT token + } + ``` + +#### 澶辫触鍦烘櫙 +1. 璐﹀彿涓嶅瓨鍦� + - 璇锋眰鍙傛暟锛� + ```json + { + "accountName": "nonexistent", + "password": "password123" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "璐﹀彿涓嶅瓨鍦�" + } + ``` + +2. 瀵嗙爜閿欒 + - 璇锋眰鍙傛暟锛� + ```json + { + "accountName": "test123", + "password": "wrong_password" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "瀵嗙爜閿欒" + } + ``` + +3. 蹇呭~瀛楁涓虹┖ + - 璇锋眰鍙傛暟锛� + ```json + { + "accountName": "", + "password": "" + } + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "璐﹀彿鍚嶄笉鑳戒负绌�" + } + ``` + +## 3. 鑾峰彇鐢ㄦ埛淇℃伅鎺ュ彛 + +### 鎺ュ彛淇℃伅 +- 璇锋眰璺緞锛歚/api/users/info` +- 璇锋眰鏂规硶锛欸ET +- 璇锋眰澶达細闇�瑕佹惡甯� token + +### 娴嬭瘯鐢ㄤ緥 + +#### 鎴愬姛鍦烘櫙 +1. 姝e父鑾峰彇鐢ㄦ埛淇℃伅 + - 璇锋眰澶达細 + ``` + token: eyJhbGciOiJIUzI1NiJ9... + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 200, + "data": { + "id": 1, + "nickname": "娴嬭瘯鐢ㄦ埛", + "accountName": "test123" + } + } + ``` + +#### 澶辫触鍦烘櫙 +1. 鏈惡甯� token + - 璇锋眰澶达細鏃� token + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 401, + "message": "鏈櫥褰曟垨token鏃犳晥" + } + ``` + +2. token 鏃犳晥 + - 璇锋眰澶达細 + ``` + token: invalid_token + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 401, + "message": "token鏃犳晥鎴栧凡杩囨湡" + } + ``` + +3. token 宸茶繃鏈� + - 璇锋眰澶达細 + ``` + token: expired_token + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 401, + "message": "token鏃犳晥鎴栧凡杩囨湡" + } + ``` + +4. 鐢ㄦ埛涓嶅瓨鍦� + - 璇锋眰澶达細 + ``` + token: valid_token_for_nonexistent_user + ``` + - 棰勬湡鍝嶅簲锛� + ```json + { + "code": 400, + "message": "鐢ㄦ埛涓嶅瓨鍦�" + } + ``` + +## 娴嬭瘯宸ュ叿寤鸿 +1. Postman +2. Swagger UI +3. JMeter锛堢敤浜庢�ц兘娴嬭瘯锛� + +## 娉ㄦ剰浜嬮」 +1. 鎵�鏈夋帴鍙i兘鏀寔璺ㄥ煙璇锋眰 +2. 娉ㄥ唽鍜岀櫥褰曟帴鍙d娇鐢� `@Valid` 娉ㄨВ杩涜鍙傛暟楠岃瘉 +3. 鐢ㄦ埛淇℃伅鎺ュ彛闇�瑕佹湁鏁堢殑 JWT token +4. 瀵嗙爜鍦ㄤ紶杈撹繃绋嬩腑搴旇浣跨敤 HTTPS 鍔犲瘑 +5. 寤鸿鍦ㄦ祴璇曠幆澧冧腑浣跨敤娴嬭瘯鏁版嵁搴� +6. 娴嬭瘯鏃舵敞鎰忔竻鐞嗘祴璇曟暟鎹紝閬垮厤褰卞搷鍏朵粬娴嬭瘯鐢ㄤ緥 \ No newline at end of file diff --git a/src/main/java/com/weiwojc/controller/UserController.java b/src/main/java/com/weiwojc/controller/UserController.java index 40cb2fb..7a63193 100644 --- a/src/main/java/com/weiwojc/controller/UserController.java +++ b/src/main/java/com/weiwojc/controller/UserController.java @@ -39,11 +39,12 @@ return Result.unauthorized("鏈櫥褰曟垨token鏃犳晥"); } - Long userId = jwtUtils.getUserIdFromToken(token); - if (userId == null) { + // 楠岃瘉token鏄惁鏈夋晥 + if (!jwtUtils.validateToken(token)) { return Result.unauthorized("token鏃犳晥鎴栧凡杩囨湡"); } + Long userId = jwtUtils.getUserIdFromToken(token); User user = userService.getUserInfo(userId); if (user == null) { return Result.error("鐢ㄦ埛涓嶅瓨鍦�"); -- Gitblit v1.9.3