java - POST 方法在 Angular2 中不起作用

标签 java rest angular angular2-http

我是 Angular2 的新手。我正在尝试从 Angular2 调用简单的 java REST 调用。当我发布数据时,我根本没有收到错误,但我的 java post 方法没有被调用。

Angular2 POST-

let emplyee = JSON.stringify(this.object);
    let url = 'http://localhost:8080/rest-app/rest/employeeService/insertEmployee';
    console.log("Data: " + emplyee);
    let headers = new Headers({'Content-Type': 'application/json'});
    let options = new RequestOptions({headers: headers});
    this.http.post(url, emplyee, options);

Java POST 方法-

@POST
@Path("/insertEmployee")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String insertEmployee(String employee) {
    logger.debug("Employee: " + employee);
    return "Hello";
}

最佳答案

这里的问题是预检结果没有通过。 您必须在 Java API 中允许 CORS 请求(您必须添加 Access-Control-Allow-Origin * header ,请参阅您的 API 库文档以了解如何添加它)。

这就是您在订阅时收到错误的原因,因为您的预检请求未通过。

编辑:参见How to make CORS-enabled HTTP requests in Angular 2?有关该问题的更多解释。

关于java - POST 方法在 Angular2 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39590241/

相关文章:

java - 注销 OnDataPointListener 时 task.getResult() 返回 false

java - Java 中的 equals 字符串问题

java - XSD - 任何(未知)元素的无限数量,但定义了序列中的最后一个元素

android - 如何在没有 Google Play 服务依赖的情况下在 Android 上使用 Firebase API?

java - 为什么从 Android 应用程序访问数据库不安全?

unit-testing - 带有 Jasmine 的构造函数中的 spyOn 方法

java - 替代 Linux 上的 JFileChooser?

node.js - Hyperledger-Composer:为什么使用 Node.js 而不是 Angular?

angular - 获取父url参数

rest - 如何防止无限重试 - Apache Shiro RESTful 服务