我开发了一个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" }