我正在研究一个jax-rs RESTful应用程序,我有一个服务应该通过JPA将JSON对象保存到数据库中。服务类类似于:
@Path("/items")
@Stateless
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ItemsService {
@Inject
protected IItemsLogic itemsServiceLogic;
@POST
public ItemDTO create(ItemDTO item){
return itemsServiceLogic.createItem(item);
}
}
itemsServiceLogic只是一个类,它将DTO转换为另一个声明为实体的Java类,以便通过JPA在数据库中进行序列化。
我正在通过Google Chrome浏览器客户端Postman测试应用程序,但是当我向POST方法发送JSON objet时,收到的DTO没有属性,因此数据库没有保存任何内容,因为所有DTO的属性都是null。
我使用Glassfish 4.0托管我的应用程序,数据库的所有内容都可正常运行。可能有什么不对?
DTO课程将是:
@XmlRootElement
public class ItemDTO {
//Id private
Long id;
//item's description
private String description;
//item's name
private String name;
//Setters and getters
public Long getId(){
return id;
}
public String getDescription(){
return description;
}
public String getName(){
return name;
}
public void setId(Long nId){
this.id=nId;
}
public void setDescription(String nDescription){
this.description = nDescription;
}
public void setName(String nName){
this.name=nName;
}
}
我发送了JSON:
{"id":1,"description":"some item","name":"item1"}