Sobre petições REST
As estrutyuras abaixo são compatíveis com petições REST:
| URI | Recurso | /? ou &{filter} (saída) |
|---|---|---|
| http://{servername}:{port}/rest/ | {dataClass} | $filter, $attributes, $skip, $method=...... |
| {dataClass}/$entityset/{entitySetID} | $method=... | |
| {dataClass}({key}) | $attributes | |
| {dataClass}:{attribute}(value) |
Todas as petições REST devem conter os parâmetros URI e Resource, mas o parâmetro Subresource (que filtra os dados retornados) é opcional.
Como com todas as URIs, o primeiro parâmetro é definido por um “?” e todos os parâmetros subsequentes por “&”. Por exemplo:
GET /rest/Person/?$filter="lastName!=Jones"&$method=entityset&$timeout=600
Pode colocar todos os valores entre aspas para evitar ambiguidades. Por exemplo, no exemplo anterior, poderíamos colocar o valor para o último nome em aspas simples: "lastName!='Jones'".
Os parâmetros permitem que manipule dados em dataclasses em seu projeto 4D. Además de recuperar datos mediante los métodos HTTP GET, también se pueden añadir, actualizar y eliminar entidades de una clase de datos utilizando los métodos HTTP POST.
Se quiser que os dados sejam retornados em um array em vez de JSON, use o parâmetro $asArray.
Estado e resposta REST
Com cada petição REST, o servidor retorna o estado e uma resposta (com ou sem um erro).
Estado da petição
Com cada petição REST, se obtém o estado junto com a resposta. Abaixo estão alguns estados que podem surgir:
| Estado | Descrição |
|---|---|
| 0 | Petição não processada (servidor pode não ter iniciado). |
| 200 OK | Petição processada sem erro. |
| 401 Unauthorized | Erro de autorização (verifique as permissões do usuário). |
| 402 No session | Número máximo de sessões foi alcançado. |
| 404 Not Found | A classe de dados não é acessível via REST ou o conjunto de entidades não existe. |
| 500 Internal Server Error | Erro processando a petição REST. |
Resposta
A resposta (em formato JSON) varia dependendo da petição.
Se um erro surgir, será enviado junto com a resposta do servidor ou será a resposta do servidor.