Obtendo Informações Sobre URIs Usando Objetos UriInfo

Usando a API Java™ para Serviços da Web RESTful (JAX-RS), é possível usar o objeto UriInfo para acessar cabeçalhos de pedido. O objeto UriInfo fornece métodos para permitir localizar ou construir informações de URI de um pedido.

Sobre Esta Tarefa

Usando um objeto UriInfo injetado pelo ambiente de tempo de execução JAX-RS, as informações do identificador uniforme de recursos (URI) relativo e absoluto são conhecidas e disponibilizadas para modificação. A anotação @javax.ws.rs.core.Context indica que um objeto de contexto é introduzido. A interface javax.ws.rs.core.UriInfo é a interface do objeto que deseja introduzir. É possível usar o objeto UriInfo para criar URLs absolutas e relativas usando a classe UriBuilder.

Procedimento

Resultados

O método de recurso pode usar o URI e, em seguida, criar as informações de URI usando o objeto UriInfo.

Exemplo

No seguinte exemplo, uma lista de recursos de manual está disponível na seguinte URL: http://<hostname>:<port>/<context root>/<servlet path>/books. Suponha que você precise de outro recurso para referenciar o recurso de manual. Em vez de codificar permanentemente a URL no aplicativo, use o objeto UriInfo para retornar uma classe UriBuilder que cria dinamicamente o URI para os recursos no aplicativo.
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import   javax.ws.rs.core.Context; 
import   javax.ws.rs.core.UriInfo; 
import   javax.ws.rs.core.MediaType; 
  
@Path ( "/books" ) 
public   class  BookListResource   { 
  
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public   String  getBookList()   {
        return "a list of books";
      }
} 
import java.util.List; 
import java.util.Locale; 
  
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import   javax.ws.rs.core.Context; 
import   javax.ws.rs.core.UriInfo; 
import   javax.ws.rs.core.MediaType; 
  
@Path ( "/allitems" ) 
public   class  AllItemsListResource   { 
  
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public   String   getLocationOfAllItems(@Context UriInfo uriInfo)   { 
        URI bookListURI = uriInfo.getBaseUriBuilder().path(BookListResource.class).build();
        return Response.ok("The URI to the book list is: " + bookListURI..toASCIIString()).build();
      }
}

Í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_contextobjects_uri
Nome do arquivo: twbs_jaxrs_contextobjects_uri.html