Implementación de la negociación de contenido en base a parámetros de URL
Las aplicaciones REST (Representational State Transfer) pueden devolver diferentes representaciones de recursos. Puede utilizar la negociación de contenido en base a patrones de URL para determinar el formato de contenido que se utiliza para intercambiar datos entre servidores y clientes.
Acerca de esta tarea
Los recursos pueden representar datos en formatos distintos. Puede implementar la negociación de contenido basada en URL, parámetros de solicitudes o cabeceras HTTP. Esta tarea describe la negociación de contenido basada en patrones de URL. La negociación de contenido utilizando URL es el tipo más simple de negociación de contenido. Este tipo de negociación de contenido siempre devuelve el mismo contenido con el mismo tipo de medio para un determinado URL.
Procedimiento
En el ejemplo siguiente se ilustra la negociación de contenido que se lleva a cabo a nivel de URL. Una solicitud a /resources/myresource.xml devuelve la representación del recurso en formato XML. Una solicitud a /resources/myresource.json devuelve la representación del recurso en formato JSON.
@Path("/resources")
public class Resource {
@Path("{resourceID}.xml")
@GET public Response getResourceInXML(@PathParam("resourceID") String resourceID) {
return Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();
}
@Path("{resourceID}.json")
@GET
public Response getResourceInJSON(@PathParam("resourceID") String resourceID) {
return Response.ok(/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();
}
}
Resultados
Ha implementado la negociación de contenido utilizando los patrones de URL para determinar los formatos para recursos que representan los datos.