我試圖做一個RESTful Web服務來實現所有四個CRUD操作。我被困在「創建」中,因爲我無法獲取發佈的數據。這是我寫的方法。就像一個信息,我使用JAX-RS + JAXB XML的Jersey RI來序列化對象。REST風格的Java Web服務中POST方法的問題
這就是:
@POST
@Consumes("application/xml")
public Response createStudent(InputStream is) {
Student st = this.readStudent(is);
st.setUserId(idCounter.incrementAndGet());
studentDB.put(st.getUserId(), st);
System.out.println("Created student " + st.getUserId());
return Response.created(URI.create("/student/"+ st.getUserId())).build();
}
而且readStudent方法如下:
protected Student readStudent(InputStream is){
JAXBContext ctx;
Student st = null;
try {
String xml = is.toString();
System.out.println(xml);
ctx = JAXBContext.newInstance(Student.class);
st = (Student) ctx.createUnmarshaller().unmarshal(new StringReader(xml));
return st;
} catch (JAXBException e){
e.printStackTrace();
}
finally { return st; }
}
有人可以給我一些有關此輕?我用盡了每一個想法,使這個作品,沒有任何工作!
在此先感謝。
嗯,嘗試並在嘗試捲曲URI時收到此消息: 找不到類型的消息正文閱讀器:內容類型爲com.esconn.domain.Student的類:application/xml – 2010-11-04 23:42:36