如何从Java Spring服务器重定向到Angular页面

时间:2018-08-01 07:05:39

标签: java angular spring-boot cors

首先,我正在从“ client.com/login”的“ Angular”页面向Spring引导服务器“ server.com/auth”的页面发出请求。在服务器上进行操作后,我想重定向到客户端的“ client.com/dashboard”角度页面。请注意,客户端和服务器域是不同的。

客户端登录角度组件的.ts文件包含:

onLoginClickPost() {
  console.log('redirect request clicked');
  this.data.getUserInfoPost().subscribe(
    data => {
      console.log(data);
    }
  );
}

getUserInfoPost() {
    return this.http.post('http://server.com/auth');
}

服务器具有@RestController,其方法映射到传入的POST请求:

@CrossOrigin(origins = "http://client.com")
@RequestMapping(value = "/auth", method = RequestMethod.POST)
public <return type> login_post() {

    // HOW TO REDIRECT TO client.com/dashboard FROM HERE
}

如何从上述代码重定向到client.com/dashboard?没有任何CORS问题?

更新:

我通过添加httpServletResponse.setHeader(“ Location”,projectUrl);在Redirect to an external URL from controller action in Spring MVC中尝试了解决方案;并添加@ResponseStatus(HttpStatus.FOUND)

我在控制台中遇到以下错误:

  

无法加载http://client.com/dashboard请求标头字段   Content-Type不允许通过Access-Control-Allow-Header   飞行前响应。

enter image description here

0 个答案:

没有答案