gpt4 book ai didi

java - 如何使用 ModelAndView 进行标题重定向

转载 作者:行者123 更新时间:2023-12-02 01:39:14 30 4
gpt4 key购买 nike

我想通过一些自定义 header 从一个 Controller 重定向到另一个 Controller 。

SpringBoot 2.1.x

@Slf4j
@RestController
@RequestMapping("test")
public class TestController {

@RequestMapping("t1")
ModelAndView t1(HttpServletRequest request, HttpServletResponse response) {
response.setHeader("token", "123");
return new ModelAndView("redirect:/test/t2");
}

@ResponseBody
@RequestMapping("t2")
String t2(HttpServletRequest request, HttpServletResponse response) {
return request.getHeader("token");
}
}

我希望t2 Controller 返回t1 Controller 设置的请求 header 。

最佳答案

Spring中不需要应答ModelAndView来重定向。例如,您可以请求状态代码为 302Response:

@RestController
@RequestMapping("test")
public class TestController {
@RequestMapping("t1")
Response t1() {
return Response.found("/test/t2") // just double check how you create this url as it might be invalid
.header("token","123")
.build();
}

@ResponseBody
@RequestMapping("t2")
String t2(HttpServletRequest request) {
return request.getHeader("token");
}
}

但真正的问题是:你想用这个实现什么目标?

仅仅在调用之间传递值就让用户从一个 Controller 跳转到另一个 Controller 绝不是一个好主意。

关于java - 如何使用 ModelAndView 进行标题重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57498270/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com