Saltar para o conteúdo principal
Versão: v20 R2 BETA

Sobre petições REST

As estrutyuras abaixo são compatíveis com petições REST:

URIRecurso/? /? or &{filter} (Output)
http://{servername}:{port}/rest/{dataClass}{attribute1, attribute2, ...}/
{dataClass}/$method=...
[{dataClass}({key})](%7BdataClass%7D.html#dataclasskey)/$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. Além de recuperar dados usando métodos HTTPGET, também pode adicionar, atualizar e apagar entidades em uma dataclass usando os métodos HTTP POST.

Se quiser que os dados sejam retornados em um array ao invés de um 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:

EstadoDescrição
0Petição não processada (servidor pode não ter iniciado).
200 OKPetição processada sem erro.
401 UnauthorizedErro de autorização (verifique as permissões do usuário).
402 No sessionNúmero máximo de sessões foi alcançado.
404 Not FoundA classe de dados não é acessível via REST ou o conjunto de entidades não existe.
500 Internal Server ErrorErro 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.