La anotación @Produces permite especificar el tipo MIME que es capaz de generar un método.
package com.domborjo.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/holaMundo")
public class HolaMundo {
@GET
@Produces("text/plain")
public String sayHola() {
return "Hola Mundo!";
}
@GET
@Produces("application/xml")
public String sayHolaXml() {
return "Hola Mundo! ";
}
}
Para comprobar que funciona correctamente, Jersey proporciona una API para desarrollar clientes
package com.domborjo.client;
import static java.lang.System.out;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
public class JerseyClient {
public static void main(String[] args) {
Client client = Client.create();
WebResource holaResource = client.resource(
"http://localhost:8080/RestTest/resources/holaMundo");
out.println(holaResource.accept("text/plain").get(String.class));
out.println(holaResource.accept("application/xml").get(String.class));
out.println(holaResource.accept("text/plain",
"application/xml").get(String.class));
}
}
El código es bastante simple. El método accept() permite especificar los tipos MIME aceptados por el cliente (admite varios tipos ya que el parámetro es un vararg. Por defecto "text/plain"). El método get()
invoca la llamada GET y el parámetro es el tipo de la respuesta.
El resultado obtenido es:
Hola Mundo!
<datos>Hola Mundo!</datos>
Hola Mundo!
Nos vemos en el siguiente post!
No hay comentarios:
Publicar un comentario