...
Estas duas maneiras serão abordadas a seguir:
Passando ID:
URI: ~/{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âmetro | Descrição |
|---|---|
| company | Este é 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:
URI: ~/actions/find
É a maneira que a camada de serviço realiza operações de busca um pouco mais complexa. Nela são utilizados operadores pre pré-determinados pela arquitetura conforme podemos ver na listagem abaixo:
| Constante | Representação em SQL | Descrição | Exemplos | URI | ||
|---|---|---|---|---|---|---|
| EQ | = | É o operador de igualdade. Ou seja, através deste, são feitas comparações entre dois objetos dizendo se são iguais. | 1 = 1: Verdadeiro 1 = 2: Falso "teste" = "teste": Verdadeiro "teste" = "teste1": Falso | URI~actions/find?params=enabled;eq;true | ||
| LTE | <= | É o operador que diz se um registro é menor ou igual a outro. Pode ser usado somente com números. | 1 <= 1: Verdadeiro 1 <= 2: Verdadeiro 2 <= 1: Falso | |||
| GTE | >= | É o operador que diz se um registro é maior ou igual a outro. Pode ser usado somente com números. | 1 >= 1: Verdadeiro 1 >= 2: Falso 2 >= 1: Verdadeiro | |||
| LT | < | É o operador que diz se um registro é menor a outro. Pode ser usado somente com números. | 1 < 1: Falso 1 < 2: Verdadeiro 2 < 1: Verdadeiro | |||
| GT | > | É o operador que diz se um registro é maior a outro. Pode ser usado somente com números. | 1 > 1: Falso 1 > 2: Falso 2 > 1: Verdadeiro | |||
| ST | Não especificado ainda | |||||
| EN | Não especificado ainda | |||||
| CO | CONTAINS | É o operador utilizado para verificar se um determinado valor esta contido num campo | CONTAINS(nome, "Joao" | URI~actions/find?params=abbreviation;co;C1 | ||
| NST | Não especificado ainda | |||||
| NEN | Não especificado ainda | |||||
| NCO | Não especificado ainda | |||||
| IN | in | É a condicional que verifica se um determinado valor está em um conjunto de dados. | 1 in (1,2,4,6): Verdadeiro 1 in (2,4,6,8): Falso
| |||
| IS | is | |||||
| NEQ | != | É o inverso do operador "=". Ou seja, ele verifica se um valor é diferente de outro. | 1 != 1: Falso 1 != 2: Verdadeiro "teste" != "teste": Falso "teste" != "teste1": Verdadeiro |
...
URI: ~/actions/find
Esses parâmetros são enviados juntamente com a requisição HTTP com a finalidade de restringir os resultados na hora de realizar uma busca. Abaixo temos um exemplo de sua utilização:
Onde:
| Parâmetro | Descrição | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| company | Este é 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 | |||||||||
| find?params=name;CO;Company | São as condicionais utilizadas para restringir o retorno da busca. Neste caso, o operador utilizado é o "CO" (contains, em SQL) buscando no campo "name" algum registro que contenha "Company". Se convertermos isso em SQL, a instrução seria:
|
POST
PUT

