我无法通过POST向JAX-RS(Jersey)服务发送JSON对象

时间:2016-02-09 14:54:04

标签: java json jax-rs

我开发了一个Angular应用程序,我将使用使用Java开发的RESTful服务(JAX-RS - Jersey)。

这是我的服务:

@POST
@Path("/add")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addNewContact(Contact instance) {
    Contact contact = new Contact(instance.getLastName(), instance.getFirstName(), instance.getPhone_1(),
            instance.getPhone_2(), instance.getEmail());
    contact.setPicture("Unknown.png");
    try {
        dao.save(contact);
        return Response.status(200).entity(contact).build();
    } catch (Exception e) {
        return Response.status(400).entity("IMPOSSIBLE D'AJOUTER CETTE PERSONNE").build();
    }
}

这是web.xml中的配置:

<servlet>
 <servlet-name>jersey-serlvet</servlet-name>
 <servlet-class>
    com.sun.jersey.spi.container.servlet.ServletContainer
 </servlet-class>
 <init-param>
  <param-name>com.sun.jersey.config.property.packages</param-name>
  <param-value>ma.restfull.services</param-value>
 </init-param>
 <init-param>
  <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
      <param-value>true</param-value>
 </init-param>
 <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>

我的实体就是这样:

@AllArgsConstructor
@NoArgsConstructor
@Entity(name = "contact")
public class Contact {

@Id
@GeneratedValue
private int id;

@Column(name = "first_name", length = 50, nullable = false, unique = false, updatable = true, insertable = true)
@Getter
@Setter
private String firstName;

@Column(name = "last_name", length = 50, nullable = false, unique = false, updatable = true, insertable = true)
@Getter
@Setter
private String lastName;

@Column(name = "phone_1", nullable = true, unique = false, updatable = true, insertable = true)
@Getter
@Setter
private String phone_1;

@Column(name = "phone_2", nullable = true, unique = false, updatable = true, insertable = true)
@Getter
@Setter
private String phone_2;

@Column(name = "email", nullable = true, unique = true, updatable = true, insertable = true)
@Getter
@Setter
private String email;

@Column(name = "picture", nullable = true, unique = false, updatable = true, insertable = true)
@Getter
@Setter
private String picture;

public Contact(String lastName, String firstName, String phone_1, String phone_2, String email) {
    super();
    this.firstName = firstName;
    this.lastName = lastName;
    this.phone_1 = phone_1;
    this.phone_2 = phone_2;
    this.email = email;
}
}

但是,当我发送请求时,我得到了Error in my console

Angular发送的对象是这样的:

Object { lastName: "Nom", firstName: "Prénom", phone_1: "12346565464", phone_2: "1234567890", email: "aaa@aaa.com", id: 0, picture: "Unknown.png" } 

0 个答案:

没有答案