Camada de Serviços
Todos os serviços disponíveis são implementados utilizando o 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:
- {host} e {port} definem onde a aplicacao 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 Objects 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 ou passando uma condicional para buscar uma lista de um determinado objeto. Estas duas maneiras serão abordadas a seguir:
- Passando ID: Nesta maneira de buscar objetos no banco, a URI base é concatenada com o identificador único do objeto. Assim sendo, a camada de serviço interpretará a operação requisitada realizará uma pesquisa utilizando o identificador passado retornando o referido objeto, caso exista. Abaixo podemos ver um exemplo:

No exemplo acima, foi requisitada uma operação do tipo GET para o serviço, passando como parâmetro o Identificador Único "1". Além deste identificador, a camada de serviços coletará o parâmetro {object} para realizar a consulta, neste exemplo, este parâmetro é "company".
Ou seja, no exemplo acima a camada de persistência sera acionada e realizará uma busca de uma "Company" com identificador único "1".
http://{host}:{port}/{context}/rest/latest/domain/{object}/{id}
POST
PUT
DELETE