Я пытаюсь создать веб-сервис RESTful, который реализует все четыре операции CRUD. Я застрял в «Создать», потому что я не могу получить опубликованные данные. Вот метод, который я написал. В качестве информации я использую RI Джерси из JAX-RS + JAXB XML для сериализации объектов.
Вот оно:
@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; }
}
Может кто-нибудь подсказать мне об этом? Я исчерпал каждую идею, чтобы это сработало, и ничего не сработало!
Заранее спасибо.