如何在Spring中重定向到另一台主机

时间:2020-02-25 20:02:11

标签: java spring spring-boot redirect

感谢您的帮助:)

我在端口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

1 个答案:

答案 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状态代码,而不要使用200ResponseEntity#ok)。

相关问题

Spring MVC @RestController and redirect
Redirect to dynamic URL in Spring MVC