Árvore de páginas
Skip to end of metadata
Go to start of metadata

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 11 Próxima »

Camada de Serviços

Todos os serviços disponíveis são uma adaptatção do padrão de Restful Objects.  Esta camada oferece uma forma de comunicação entre as diferentes partes do plugin. 

A estrutura base da URI dada da seguinte maneira:

http://{host}:{port}/{context}/rest/shield/latest/domain/{object}/

Onde:

  
VariávelDescrição
{host}Define onde a aplicação esta rodando
{port}É a porta do host onde a aplicação esta rodando
{context}É o Servlet Context da aplicacao. Por exemplo, no crowd normalmente é /crowd
{object}É o objeto da camada de persistência. Ou seja, é a classe Java que representa para a aplicação a entidade de banco de dados

Operações suportadas

O modelo de URI é baseado nas operações HTTP (POST, PUT, DELETE e GET). E tratando-se do padrão Restful a URI do serviço exposto tem uma estrutura diferente, mantendo, entretanto, sua estrutura base acima citada.

A seguir, será explicado como a URI se comporta para as diferentes operações HTTP.

GET

Para operações do tipo GET, existem duas maneiras de resgatar objetos através dos serviços rest, A primeira é passando o ID do objeto a ser buscado e a segunda é passando uma condicional para buscar uma lista de um determinado objeto. Estas duas maneiras serão abordadas a seguir:

Passando ID:

É a maneira simplificada de resgatar objetos através do serviço, onde será retornado um registro único caso o mesmo exista. Assim sendo, a forma de utilizar este serviço é através da URI base concatenando ela com o identificador único (ID) do objeto a ser resgatado. A camada de serviço interpretará a operação requisitada e realizará uma pesquisa utilizando o identificador passado retornando o referido objeto, caso ele exista. Abaixo podemos ver um exemplo:

URI: ~/{id}

 

Onde:

ParâmetroDescrição
companyEste é o objeto representativo do banco de dados. Ou seja, este parâmetro substitui o atributo {object} da URI base da camada de serviço. Neste caso, existe uma classe "Company" que representa uma tabela do banco de dados
1É o identificador único (ID) da entidade company no banco de dados.

 

Assim sendo, no exemplo acima foi requisitada uma operação do tipo GET para o serviço, tentando buscar uma "company" com ID "1".  O retorno desta consulta, como podemos ver, é uma String com os atributos do classe representativa da entidade de banco de dados Company.

 Usando condicional:  

É a maneira que a camada de serviço realiza operações de busca um pouco mais complexa. Nela são utilizados operadores pre determinados pela arquitetura conforme podemos ver na listagem abaixo:

ConstanteRepresentação em SQLDescrição
EQ= 
LTE<= 
GTE>= 
LT< 
GT> 
ST  
EN  
CO  
NST  
NEN  
NCO  
INin 
ISis 
NEQ!= 

 

 

URI: ~/actions/find




POST

 

PUT

 

DELETE 

  • Sem rótulos