I'm trying to implement a RESTful Service in Java that receives a JSON Object through a PUT request and automatically maps into a Java Object. I managed to do this in XML, but I can't do it using JSON. Here's what I want to do:
@PUT
@Consumes(MediaType.APPLICATION_XML)
public String putTodo(JAXBElement<Route> r) {
Route route = r.getValue();
route.toString();
System.out.println("Received PUT XML Request");
return "ok";
}
This works, but using JSON would be something similar, but I can't use JAXB, can I?
@PUT
@Consumes(MediaType.APPLICATION_JSON)
public String putTodo(<WHAT DO I PUT HERE>) {
Route route = r.getValue();
route.toString();
System.out.println("Received PUT JSON Request");
return "ok";
}
By default Jersey will use JAXB to process the JSON messages by leveraging the Jettison library.
So you can do the following:
@PUT
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public String putTodo(JAXBElement<Route> r) {
Route route = r.getValue();
route.toString();
System.out.println("Received PUT XML/JSON Request");
return "ok";
}
For More Information on Using Jettison with JAXB:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With