Одним из способов было бы более точное использование @Path
аннотаций:
@GET
@Path("/order/{id}.xml")
@Produces("application/xml")
public Order getOrderAsXML(@PathParam("id") int id) {
return realGetOrder(id);
}
@GET
@Path("/order/{id}.json")
@Produces("application/json")
public Order getOrderAsJSON(@PathParam("id") int id) {
return realGetOrder(id);
}
private Order realGetOrder(int id) {
// ...
}
Однако я был бы склонен к тому, чтобы один метод обслуживал и то и другое, и позволял клиенту и поддерживающей инфраструктуре JAX-RS использоватьсогласование содержимого для определения метода сериализации.