@GET @Path("/ids/{printerid}")
@Produces({"application/json", "application/xml"})
public Printer getPrinter(@PathParam("printerid") String printerId) { ... }
is a piece of a code example found here: https://jersey.java.net/documentation/latest/jaxrs-resources.html#d0e2089
What I understand is:
getPrinter
is called when the HTTP method GET
is called on the path /ids/{printerid}
Produces
either a json
or an xml
resultObject
of type Printer, identified by the ID provided in the URI
What I don't understand is, how the returned Printer is represented as an xml/json
document. We return a Printer in this method, so how do we get an xml/json
file from that?
This is the whole idea of Jersy layer / spring controller, they encapsulate it and convert the class to JSON. You can have the same result with Gson
Gson gson = new Gson();
String json = gson.toJson(printerObject);
System.out.println(json);
Not sure if Jersy is using Gson, but the logic will be probably the same