Implementando Negociação de Conteúdo com Base nos Padrões de URL

Os aplicativos Representational State Transfer (REST) podem retornar representações de recursos diferentes. É possível usar a negociação de conteúdo com base nos padrões de URL para determinar o formato de conteúdo que é usado para trocar dados entre os servidores e clientes.

Sobre Esta Tarefa

Os recursos podem representar dados em formatos diferentes. É possível implementar negociação de conteúdo com base nas URLs, nos parâmetros de pedidos ou nos cabeçalhos HTTP. Essa tarefa descreve a negociação de conteúdo com base nos padrões de URL. A negociação de conteúdo que usa URLs é o tipo mais simples de negociação de conteúdo. Esse tipo de negociação de conteúdo retorna sempre o mesmo conteúdo com o mesmo tipo de mídia para uma determinada URL.

Procedimento

Use o URI definido na anotação @Path para determinar o tipo de conteúdo de dados que o servidor retorna.

O seguinte exemplo mostra a negociação de conteúdo executada no nível da URL. Um pedido para /resources/myresource.xml retorna a representação de recurso em XML. Um pedido para /resources/myresource.json retorna a representação de recurso em 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

Você implementou a negociação de conteúdo usando os padrões de URL para determinar os formatos de recursos que representam dados.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_contentnegotiation_url
Nome do arquivo: twbs_jaxrs_contentnegotiation_url.html