spring boot重定向携带参数和请求头
时间: 2023-07-30 17:08:39 浏览: 1099
在Spring Boot中,可以使用`RedirectAttributes`来将参数传递给重定向后的页面,使用`HttpHeaders`来设置请求头。
下面是一个示例代码:
```java
@GetMapping("/redirectWithParams")
public String redirectWithParams(RedirectAttributes attributes) {
attributes.addAttribute("param1", "value1");
attributes.addAttribute("param2", "value2");
return "redirect:/destination";
}
@GetMapping("/redirectWithHeaders")
public ResponseEntity<Object> redirectWithHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.set("Custom-Header", "value");
return ResponseEntity.status(HttpStatus.FOUND)
.headers(headers)
.location(URI.create("/destination"))
.build();
}
@GetMapping("/destination")
public String destination(@RequestParam String param1, @RequestParam String param2) {
// do something with the parameters
return "destination";
}
```
在`redirectWithParams`方法中,我们将参数添加到`RedirectAttributes`中,并返回重定向到目标页面的字符串。在目标页面中,我们可以使用`@RequestParam`注解来获取参数值。
在`redirectWithHeaders`方法中,我们创建一个`HttpHeaders`对象并设置自定义请求头。然后,我们使用`ResponseEntity`来创建一个重定向响应,并将`HttpHeaders`对象和目标URL传递给`location`方法。
请注意,`redirectWithHeaders`方法返回`ResponseEntity`而不是字符串,因为我们需要设置响应状态码和头信息。
阅读全文