感谢您的帮助:)
我在端口4200
上有一个前端,在8080
上有一个后端,经过身份验证后,我将其从8080
重定向到8080(另一个端点)以保存新用户,然后,我需要重定向到localhost:4200...
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
答案 0 :(得分: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 redirect
Redirect to dynamic URL in Spring MVC