如何在 Spring 中重定向到另一台主机
Posted
技术标签:
【中文标题】如何在 Spring 中重定向到另一台主机【英文标题】:How to redirect on another host in Spring 【发布时间】:2020-06-09 15:24:15 【问题描述】:我会感谢你的帮助:)
我在端口4200
上有一个前端,在8080
上有一个后端,经过身份验证后,我将其从8080
重定向到8080(另一个端点)以保存新用户,之后,我需要重定向到@ 987654324@
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setLocation(Paths.get(url + "/home").toUri());
return ResponseEntity.ok()
.headers(responseHeaders)
.body(cookie);
但我只收到回复There was an unexpected error (type=Internal Server Error, status=500).
Illegal char <:> at index 4: http://localhost:4200/home
【问题讨论】:
【参考方案1】:试试这个:
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setLocation(URI.create(url + "/home"));
return ResponseEntity.status(HttpStatus.FOUND)
.headers(responseHeaders)
.body(cookie);
似乎错误发生在Paths.get
。如果要创建 java.net.URI
对象,请改用 URI#create
。
我认为你在设置 HTTP 状态码时犯了一个错误。如果要进行重定向响应,则必须使用3xx
状态码而不是200
(ResponseEntity#ok
)。
相关问题
Spring MVC @RestController and redirectRedirect to dynamic URL in Spring MVC
【讨论】:
以上是关于如何在 Spring 中重定向到另一台主机的主要内容,如果未能解决你的问题,请参考以下文章