![](/img/trans.png)
[英]Integrate Angular + Nodejs + Spring Boot Java REST API to make Angular Universal work
[英]how to make angular and rest api created using spring work on same machine?
我在计算机上安装了Spring STS,并且正在用Java创建rest api,并使用url http://localhost:8080/projectname/apiname
。 我在同一台计算机上安装了Visual Studio,并尝试访问我创建的api。 但是,当我尝试在localhost:4200中访问它时,出现以下错误。
相同来源策略禁止读取位于http:// localhost:8080 / org / getRecord /的远程资源。 (原因:CORS标头“ Access-Control-Allow-Origin”缺失)。
邮递员也一样。
我已经在我的web.xml文件中添加了cors允许的原点
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
尝试添加Java Restapi的过滤器。
添加过滤器。
public class CORSFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req;
response.setHeader("Access-Control-Allow-Origin", "*"); // allow origin
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "origin, x-requested-with, content-type, accept, authorization, x-auth-token");
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
response.setStatus(HttpServletResponse.SC_OK);
} else {
chain.doFilter(req, res);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.