如何在 jax-rs Restful 网络服务中获取 Json 对象

how to get Json Object in jax-rs Restful web services

我试图从 android 客户端获取 Ejb 的对象 Ejb 基于 Web 应用程序,该应用程序使用 Restful api 和 jax-rs.但是我无法获取 json 对象。即使我将所有键名与我的实体 class 变量

匹配,它也会抛出 404 错误

我的 pojo class 看起来像这样:

@Entity
@Table(name = "events")
@NamedQueries({
    @NamedQuery(name = Event.FIND_ALL,query="Select e from Event e")
})
public class Event implements Serializable{

public static final String PREFIX="np.com.drose.data.modules.employee.domain.event.";
public static final String FIND_ALL=PREFIX+"FIND_ALL";

@Id
@GeneratedValue
private int eventId;

@Future
@Temporal(TemporalType.DATE)
private Date dateofEvent;

private String content;

private String header;

private String place;

private String specification;

public int getEventId() {
    return eventId;
}

public void setEventId(int eventId) {
    this.eventId = eventId;
}

public Date getDateofEvent() {
    return dateofEvent;
}

public void setDateofEvent(Date dateofEvent) {
    this.dateofEvent = dateofEvent;
}

public String getContent() {
    return content;
}

public void setContent(String content) {
    this.content = content;
}

public String getHeader() {
    return header;
}

public void setHeader(String header) {
    this.header = header;
}

public String getSpecification() {
    return specification;
}

public void setSpecification(String specification) {
    this.specification = specification;
}

public String getPlace() {
    return place;
}

public void setPlace(String place) {
    this.place = place;
}

}

我的资源 class 看起来像这样:

    @Path("secured")
    @Stateless
    public class EventAddResurces {
    @Inject
    EventServices eventServices;


    @POST
    @Path("/event/add")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.TEXT_PLAIN)
    public Response getResponse(Event event){
        this.eventServices.addEvent(event);
        return Response.ok().status(200).entity("Successfully added").build();
    }
}

使用库,例如​​Jackson's ObjectMapper,将事件对象序列化为JSON并保存在数据库中,例如

ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(event);
// Persist JSON string in database.