角度2:预检的响应无效(重定向)

时间:2017-09-13 09:12:19

标签: angular rest http-headers angular2-http

我在Angular 2中遇到get请求的问题。我有一个获取文档的方法:

getDocuments() {
   let username: string = 'username';
   let password: string = 'password';
   let headers: Headers = new Headers();
   headers.append("Authorization", "Basic " + btoa(username + ":" + password));
   headers.append("Content-Type", "multipart/form-data");
   return this._http.get('http://localhost:8080/api/documents', {headers: headers}).map(res => res.json());
}

有一个错误:

  

预检的响应无效(重定向)

解决方案,它适用于我(在SpringBoot应用程序中添加):

@Bean
public FilterRegistrationBean corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    org.springframework.web.cors.CorsConfiguration config = new org.springframework.web.cors.CorsConfiguration();
    config.setAllowCredentials(true);
    config.addAllowedOrigin("http://localhost:4200");
    config.setAllowedMethods(Arrays.asList("POST", "OPTIONS", "GET", "DELETE", "PUT"));
    config.setAllowedHeaders(Arrays.asList("X-Requested-With", "Origin", "Content-Type", "Accept", "Authorization"));
    source.registerCorsConfiguration("/**", config);
    FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
    bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
    return bean;
}

1 个答案:

答案 0 :(得分:0)

这个问题是关于获取REST响应,但服务器返回重定向。这不匹配。

我在这个领域用Angular / SpringBoot / Oauth2做了一些测试,所以,这就是为什么我可以回复这个确切的情况。