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

Spring Boot中PostMapping重定向GetMapping不生效问题求助

问题根因与修复方案

核心问题梳理

  • 逻辑顺序错误,未在满足重定向条件时终止后续执行。你当前的代码中,就算campaignCount >=20给url赋了重定向值,代码还是会继续往下走执行migrationService.migrate()的更新逻辑,完全不符合你「满足条件就不执行更新」的预期。
  • 返回值异常。当不满足重定向条件时,url始终为null,SpringMVC无法识别null作为视图跳转路径,会直接抛出异常。
  • 参数定义风险。campaignCount被声明为required=false的请求参数,但类型用了基本类型int,如果前端不传该参数,Spring无法给基本类型赋值为null,会直接抛出参数绑定异常,需要改为包装类型Integer。

修复后代码

@PostMapping(path = "/campaign/services/migrate")
public String migrateCampaigns(
        // 把int改为Integer避免无传参时的绑定异常
        @RequestParam(required = false, value = "campaignCount") Integer campaignCount,
        @RequestParam(required = false, value = "client-email") String clientEmail,
        @RequestParam(required = false, value = "campaign-id") List<String> campaignIds,
        @RequestParam(required = false, value = "selectAllCampaigns") String selectAllCampaigns,
        HttpServletRequest request,
        HttpServletResponse httpResponse,
        Model model) throws ServletException, IOException {
    logger.info("Retrieving source and destination credential from cookies");

    // 满足条件直接返回重定向,不执行后续更新逻辑
    if(campaignCount != null && campaignCount >= 20) {
        return "redirect:/login/oauth/login-with-eloqua";
    }
    
    // 不满足重定向条件才执行更新逻辑
    String adminsEmail = contactService.getEmail(siteNameForEmail);
    String userEmail = cookieService.retrieveCookieValue(cookieDefinitionUserEmail);
    String clientsEmailAddresses = adminsEmail + "," + userEmail;
    migrateResponse = migrationService.migrate(campaignIds, request.getCookies(), clientsEmailAddresses);
    
    // 这里返回你原本的业务视图路径即可,不要返回null
    return migrateResponse;
}

@GetMapping(path = "/login/oauth/login-with-eloqua")
public String eloquaOauthLoginPage(HttpServletRequest request, Model model, HttpServletResponse response) {
    return "login/oauth/login-with-eloqua";
}

额外注意点

如果重定向后出现404,确认你的项目视图解析器配置正确,login/oauth/login-with-eloqua对应的模板文件存在且路径匹配即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:15:04