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

Utilice el URI definido en la anotación @Path para determinar el tipo de contenido para los datos devueltos al servidor.

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.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_contentnegotiation_url
File name: twbs_jaxrs_contentnegotiation_url.html