From 1da4511dd978caf952e4dbfd5e1c9378b7c15be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E8=87=AA=E8=BE=BE?= <980324341@qq.com> Date: Sun, 6 Sep 2026 11:01:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E5=90=8E=E5=8F=B0=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=20/admin=20/login=20=E7=94=A8=20sendRedirect=20?= =?UTF-8?q?=E4=BA=A7=E7=94=9F=E7=9C=9F=E5=AE=9E=20302?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @RestController 下返回 redirect: 字符串只会原样写进 200 响应体, 浏览器不会跳转。页面入口方法改为 HttpServletResponse.sendRedirect 302 到 /admin-vue/,旧 /admin.html、/login.html 一并兜底。 --- .../controller/AdminConsoleController.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/admin/controller/AdminConsoleController.java b/backend-java/src/main/java/com/nanri/aiimage/modules/admin/controller/AdminConsoleController.java index b21b611b..cb47af6b 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/admin/controller/AdminConsoleController.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/admin/controller/AdminConsoleController.java @@ -9,10 +9,12 @@ import com.nanri.aiimage.modules.permission.service.support.AdminMenuTreeBuilder import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import java.io.IOException; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -37,26 +39,26 @@ public class AdminConsoleController { @GetMapping("/") @Operation(summary = "根路径跳管理后台", hidden = true) - public String root() { - return "redirect:/admin-vue/"; + public void root(HttpServletResponse response) throws IOException { + response.sendRedirect("/admin-vue/"); } @GetMapping({"/admin", "/admin.html"}) @Operation(summary = "管理后台入口(含旧 /admin.html 兜底)", hidden = true) - public String adminPage() { - return "redirect:/admin-vue/"; + public void adminPage(HttpServletResponse response) throws IOException { + response.sendRedirect("/admin-vue/"); } @GetMapping({"/login", "/login.html"}) @Operation(summary = "登录页入口(含旧 /login.html 兜底)", hidden = true) - public String loginPage() { - return "redirect:/admin-vue/login"; + public void loginPage(HttpServletResponse response) throws IOException { + response.sendRedirect("/admin-vue/login"); } @GetMapping("/logout") @Operation(summary = "登出 GET 兜底(POST 走 auth 模块)", hidden = true) - public String logoutPage() { - return "redirect:/admin-vue/login"; + public void logoutPage(HttpServletResponse response) throws IOException { + response.sendRedirect("/admin-vue/login"); } @GetMapping("/api/admin/current-user")