1

我想用 Java 编写一个代码,它将充当我的 Angular 前端(托管在另一台服务器 npm 上)的服务器。我需要接收请求,从发送的 JSON 中获取值并返回 JSON。我研究了sparkJava。它对我来说看起来很完美,因为我需要处理多个请求,例如(/authentication、/records、/user/Details 等)。我对 Spark 的问题是它无法接收来自另一台服务器的请求。如果前端也托管在其中,它可以正常工作。

4

1 回答 1

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;
于 2015-11-01T20:01:28.353 回答