springboot redirect返回到浏览器是字符串redirect:http://localhost:8080而不是执行重定向怎么办
时间: 2024-12-10 10:41:16 浏览: 10
在Spring Boot项目中,如果你希望在返回一个字符串的同时仍能触发重定向,你应该使用`RedirectView`或者`RedirectEntity`。这两个都是Spring MVC提供的用于实现HTTP重定向的对象。
例如,你可以这样创建一个视图并响应:
```java
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.view.RedirectView;
@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ResponseEntity<RedirectView> redirectToServer() {
RedirectView redirectView = new RedirectView("http://localhost:8080");
// 如果你想设置其他重定向参数,如查询参数
// redirectView.setUrlParameters(Collections.singletonMap("paramName", "paramValue"));
return ResponseEntity.ok(redirectView).build();
}
```
在这个例子中,`ResponseEntity.ok()`用来包装`RedirectView`对象,使得它看起来像是返回一个普通的HTTP响应,但实际上触发了浏览器的重定向。
阅读全文