springboot 直接转发调用_SpringBoot controller之间相互转发 重定向传递参数
时间: 2023-07-08 21:38:23 浏览: 171
Spring Boot 中的 Controller 之间相互转发可以使用以下两种方式:
1. 使用 forward
使用 forward 可以将请求转发到另一个 Controller,可以在转发过程中传递参数。示例代码如下:
```java
@GetMapping("/first")
public String first(HttpServletRequest request) {
request.setAttribute("name", "Alice");
return "forward:/second";
}
@GetMapping("/second")
public String second(HttpServletRequest request) {
String name = (String) request.getAttribute("name");
System.out.println("name:" + name);
return "second";
}
```
2. 使用 redirect
使用 redirect 可以将请求重定向到另一个 Controller,可以在重定向过程中传递参数。示例代码如下:
```java
@GetMapping("/first")
public String first(RedirectAttributes redirectAttributes) {
redirectAttributes.addAttribute("name", "Alice");
return "redirect:/second";
}
@GetMapping("/second")
public String second(@RequestParam String name) {
System.out.println("name:" + name);
return "second";
}
```
在第一个 Controller 中使用 RedirectAttributes 将参数传递给第二个 Controller,第二个 Controller 使用 @RequestParam 注解接收参数。
阅读全文