我正在使用Spring 5路由器功能构建一个Web应用程序休息控制器来映射请求。
@RestController
public class AdminRest {
public RouterFunction<ServerResponse> route() {
return RouterFunctions
.route(RequestPredicates.GET("/admin/organizations"), this::getOrganizations);
}
}
让Angular 4项目充当其余控制器的消费者。
public getOrganizations(): Observable<OrganizationsList> {
return this.http.get(this.getOrganizationsUrl)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
哪个返回此错误
XMLHttpRequest无法加载oh-my-zsh。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; http://ip:port/admin/organizations&#39;因此不允许访问。响应的HTTP状态代码为500.}
如何在Spring 5路由器功能中允许CORS?
答案 0 :(得分:0)
你可以注释为
@CrossOrigin(origins = "http://domain2.com", maxAge = 3600)
有关详细信息,请参阅Spring CORS documentation
答案 1 :(得分:0)
添加配置文件对我有用
@Configuration
@EnableWebFlux
public class CorsConfig implements WebFluxConfigurer {
@Override
public void addCorsMappings(CorsRegistry corsRegistry) {
corsRegistry.addMapping("/admin/organizations")
.allowedOrigins("*")
.allowedMethods("GET")
.maxAge(3600);
}
}