我想用Java编写一个代码,它将充当我的角度前端的服务器(托管在另一台服务器上,npm)。我需要接收请求,从发送的JSON中获取值并返回JSON。 我调查了sparkJava。它看起来很完美,因为我需要处理多个请求,如(/ authentication,/ records,/ user / Details等)。 我遇到的问题是它无法接收来自其他服务器的请求。如果前端也在其中托管,它工作正常。
答案 0 :(得分:0)
为了使SparkJava应用程序能够接收外部请求,您必须启用CORS。在任何路由/过滤器之前添加以下代码段。
options("/*",
(request, response) -> {
String accessControlRequestHeaders = request
.headers("Access-Control-Request-Headers");
if (accessControlRequestHeaders != null) {
response.header("Access-Control-Allow-Headers",
accessControlRequestHeaders);
}
String accessControlRequestMethod = request
.headers("Access-Control-Request-Method");
if (accessControlRequestMethod != null) {
response.header("Access-Control-Allow-Methods",
accessControlRequestMethod);
}
return "OK";
});
在客户端(angularjs),执行以下操作
$httpProvider.defaults.useXDomain = true;