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
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.