You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring拦截器已排除登录接口仍报POST请求不支持跳转/error问题

错误原因

  • Controller层/adminapi/login接口未显式声明支持POST请求,或拦截器未登录跳转逻辑使用重定向,导致原POST请求被自动转为GET请求,与接口支持的请求方法不匹配
  • 拦截器排除路径配置未生效,/adminapi/login请求仍被拦截,触发拦截器的重定向逻辑

解决方案

  1. 修正Controller接口请求方法配置
    显式指定登录接口支持POST请求,代码示例:
@RequestMapping(value = "/adminapi")
public class AdminController {
   // 写法1:使用PostMapping注解
   @PostMapping("/login")
   public String login(){
       // 业务逻辑
   }
   // 写法2:指定@RequestMapping的method属性,兼容多种请求方法
   // @RequestMapping(value = "/login", method = {RequestMethod.POST, RequestMethod.GET})
}
  1. 调整拦截器未登录处理逻辑
    拦截器preHandle方法中如果校验未登录,不要对接口请求使用response.sendRedirect重定向:
  • 前端异步请求:直接返回JSON格式的未登录错误提示,状态码设为401即可
  • 页面同步请求:跳转的页面地址需提前加入拦截器排除列表,且确认页面路径支持GET请求
  1. 验证拦截器配置生效
    在拦截器preHandle方法开头添加日志打印请求URI,确认/adminapi/login请求确实跳过了拦截逻辑,避免配置拼写错误、路径匹配规则不对导致排除不生效。

内容的提问来源于stack exchange,提问作者kkmonster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 08:15:04