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