Uma das vantagens dos aplicativos RESTful é a possibilidade de retornar diferentes
representações de recursos. Com o Representational
State Transfer (REST), os clientes e servidores podem trocar recursos do mesmo tipo
de mídia ou usar tipos de mídia diferentes. A negociação permite que clientes
e servidores concordem com o formato do conteúdo que é usado para trocar dados.
Sobre Esta Tarefa
Os recursos são representados por muitos formatos diferentes. Os formatos XML, JavaScript Object Notation
(JSON), Atom, texto simples, PNG, JPEG, GIF customizado ou proprietário são usados
para representar recursos. O Representational State Transfer
(REST) fornece a flexibilidade para representar um único recurso em vários
formatos.
Dependendo dos requisitos do seu aplicativo,
os recursos podem retornar representações em um único formato ou em
formatos diferentes, dependendo do pedido. Por exemplo, os recursos acessados usando
clientes JavaScript podem preferir
representações JSON porque o JSON é fácil de consumir.
No entanto, outros clientes preferem XML.
Use a negociação de conteúdo se desejar
atender vários formatos para os clientes. A negociação de conteúdo é o método pelo qual
o cliente e o servidor concordam com o tipo de conteúdo de resposta a ser usado. Há três tipos de negociação de conteúdo que afetam a resposta. É possível usar a negociação de conteúdo com base
na URL, em um parâmetro de pedido ou em cabeçalhos HTTP.
- Configure o ambiente de desenvolvimento.
- Antes de iniciar o desenvolvimento de aplicativos
JAX-RS, é necessário configurar o ambiente de desenvolvimento ao incluir
as bibliotecas JAX-RS no caminho de classe.
- Definir os recursos nos aplicativos da Web JAX-RS.
- Os recursos são o bloco de construção básico de um serviço RESTful. Os recursos podem conter dados estáticos
ou atualizados dinamicamente.
Os exemplos de recursos a partir de um aplicativo de armazenamento de manual online incluem um manual, uma ordem de um armazenamento e uma coleta de usuários. Ao identificar os recursos no seu aplicativo, poderá tornar seu serviço mais
útil e fácil de desenvolver.
- Configure o aplicativo JAX-RS.
É possível configurar aplicativos JAX-RS de várias formas dependendo de suas necessidades.
Para aproveitar a funcionalidade Java™ Platform, Enterprise Edition (Java EE) 6, é possível usar os recursos de varredura de anotação.
Ao usar a varredura de anotação, é possível omitir uma subclasse JAX-RS javax.ws.rs.core.Application ou ter uma subclasse javax.ws.rs.core.Application minimamente definida. Como alternativa, é possível especificar o servlet ou filtro do IBM® JAX-RS se quiser usar a funcionalidade disponível no servlet e filtro do IBM JAX-RS.
Usando um dos métodos de configuração do JAX-RS Versão 1.1, é possível omitir uma subclasse javax.ws.rs.core.Application
em seu aplicativo ou ter uma subclasse javax.ws.rs.core.Application que retorne um conjunto vazio de classes para informar o ambiente de tempo de execução do JAX-RS para localizar e usar todas as classes JAX-RS no aplicativo. É possível que você queira usar este método quando não quiser ter que incluir manualmente cada classe JAX-RS relevante em uma subclasse javax.ws.rs.core.Application conforme desenvolve o aplicativo.
Ao especificar o servlet e filtro IBM JAX-RS específicos, é possível aproveitar e garantir o comportamento do IBM JAX-RS específico. Por exemplo, usar o filtroIBM JAX-RS pode ser útil
no desenvolvimento de um aplicativo da Web com uma combinação de recursos JAX-RS e arquivos
JavaServer Pages (JSP) com os mesmos padrões de URL.
Embora haja um método de configuração de JAX-RS V1.1 que suporte o uso de um arquivo web.xml opcional, se quiser especificar restrições de segurança ou funções, ou, se quiser aproveitar os outros recursos ativados usando um arquivo web.xml, você deverá especificar as informações em um arquivo web.xml.
Escolha um dos três métodos a seguir para configurar seu aplicativo JAX-RS:
- Configurar aplicativos JAX-RS usando métodos JAX-RS 1.1
Use este método se quiser usar os recursos de varredura de anotação ou usar os métodos de configuração do JAX-RS 1.1. É possível usar os recursos de varredura de anotação para promover a portabilidade do aplicativo, para minimizar a quantidade de código de configuração ou para modificar o aplicativo de forma dinâmica sem mudanças no código do aplicativo.
- Configurar
o arquivo web.xml para servlets JAX-RS
Use este método se quiser especificar os recursos que estão ativados usando os parâmetros de inicialização de servlet para alterar o comportamento e garantir que se obtém o servlet IBM JAX-RS. Ao usar os servlets, é possível definir um caminho de servlet no arquivo web.xml que é anexado à URL
de base.
- Configurar
o arquivo web.xml para filtros JAX-RS
Use este método se quiser usar o filtro quando tiver JSPs, outros servlets e filtros e recursos JAX-RS com uma combinação de padrões URL. É possível configurar o arquivo web.xml para definir filtros que indicam as possíveis URLs nas quais o filtro pode ser chamado.
- Implementar Negociação de Conteúdo para Atender Vários Tipos de Conteúdo Use a negociação de conteúdo para determinar a melhor representação de recurso
para o servidor para retornar para o cliente. É possível
implementar a negociação de conteúdo com base nos padrões de URL, nos parâmetros de pedidos ou nos cabeçalhos
HTTP.
- Montar aplicativos da Web JAX-RS.
- Após
desenvolver os arquivos de classe Java
para o seu aplicativo da Web JAX-RS e editar o arquivo web.xml para ativar
o servlet JAX-RS, você está pronto para montar o aplicativo.
Montar
o aplicativo da Web em um pacote archive aplicativo da Web (WAR). É possível montar o pacote
WAR em um pacote archive corporativo (EAR), se necessário.
- Implementar aplicativos da Web JAX-RS.
- Após ter
montado o seu aplicativo da Web JAX-RS, é necessário implementar o seu pacote
archive Web (WAR) ou o pacote archive corporativo (EAR) no
servidor de aplicativos.