Java Spring@RequestMapping控制器转发

Java Spring@RequestMapping控制器转发,java,spring,rest,forward,request-mapping,Java,Spring,Rest,Forward,Request Mapping,我正在尝试将请求从一个控制器转发到另一个控制器。当我运行此命令时,控制器返回字符串作为响应,而不是转发到另一个控制器。。。有人能指出我遗漏了什么吗?您可以重定向请求,而不是转发 因此,请更改您的报税表 @RequestMapping({"/someurl"}) public String execute(Model model) { if (someCondition) { return "forward:/someUrlA"; } else {

我正在尝试将请求从一个控制器转发到另一个控制器。当我运行此命令时,控制器返回字符串作为响应,而不是转发到另一个控制器。。。有人能指出我遗漏了什么吗?

您可以重定向请求,而不是转发

因此,请更改您的报税表

@RequestMapping({"/someurl"})
public String execute(Model model) {
    if (someCondition) {
        return "forward:/someUrlA";
    } else {
        return "forward:/someUrlB";
    }
}

有关详细信息

您的控制器是
@controller
还是
@RestController
?在我看来,使用url作为路径变量({})也是错误的。这应该是有效的。如何映射
/someUrlA
/someUrlB
?此外,除非将多个路径绑定到同一处理程序,否则可以指定
@RequestMapping(“/someurl”)
。重定向将向客户端发送HTTP 302响应,并将强制客户端向服务器发出另一个请求。问题是关于转发的,转发完全是服务器端的。
    if (someCondition) {
        return "redirect:/someUrlA";
    } else {
        return "redirect:/someUrlB";
    }