添加了重生成token

Change-Id: Ic014cdbba93729942ceface9354a487ff3f36ac9
diff --git a/src/main/java/com/example/g8backend/controller/AuthController.java b/src/main/java/com/example/g8backend/controller/AuthController.java
index 48376f2..bb6c0a9 100644
--- a/src/main/java/com/example/g8backend/controller/AuthController.java
+++ b/src/main/java/com/example/g8backend/controller/AuthController.java
@@ -10,9 +10,10 @@
 import com.example.g8backend.util.mailUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.web.bind.annotation.*;
-
+import jakarta.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
@@ -111,4 +112,19 @@
         Object value = redisTemplate.opsForValue().get("test");
         return ApiResponse.success("test redis ok");
     }
+
+    //刷新token
+    @PostMapping("/refresh-token")
+    public ApiResponse<String> refreshToken(HttpServletRequest request) {
+        Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        if (!(principal instanceof Long userId)) {
+            return ApiResponse.error(401, "未认证,无法刷新token");
+        }
+        String oldToken = request.getHeader("Authorization");
+        if (oldToken != null && oldToken.startsWith("Bearer ")) {
+            oldToken = oldToken.substring(7);
+        }
+        String newToken = jwtUtil.generateToken(userId);
+        return ApiResponse.success("Token刷新成功", newToken);
+    }
 }
diff --git a/src/main/java/com/example/g8backend/dto/ApiResponse.java b/src/main/java/com/example/g8backend/dto/ApiResponse.java
index 8ad28f7..9940361 100644
--- a/src/main/java/com/example/g8backend/dto/ApiResponse.java
+++ b/src/main/java/com/example/g8backend/dto/ApiResponse.java
@@ -1,12 +1,15 @@
 package com.example.g8backend.dto;
 
+import lombok.Data;
+
+@Data
 public class ApiResponse<T> {
     private int code;
     private String message;
     private T data;
 
     public ApiResponse() {}
-
+    
     public ApiResponse(int code, String message, T data) {
         this.code = code;
         this.message = message;