Acerca de las peticiones REST
Se soportan las siguientes estructuras para las peticiones REST:
| URI | Recurso | {Subresource} | {Querystring} |
|---|---|---|---|
| http://{servername}:{port}/rest/ | {dataClass}/ | {attribute1, attribute2, ...}/ | |
| {dataClass}/ | {attribute1, attribute2, ...}/ | {method} | |
| $entityset/{entitySetID} | |||
| ?$filter | |||
| {attribute}/ | ?$compute | ||
| {dataClass}({key})/ | {attribute1, attribute2, ...}/ | ||
| {dataClass}:{attribute}(value) | |||
| $catalog | |||
| $directory | |||
| $info |
Mientras que todas las solicitudes REST deben contener los parámetros URI y Resource, el subresource (que filtra los datos devueltos) es opcional.
Como en todos los URI, el primer parámetro está delimitado por un "?" y todos los siguientes por un "&". Por ejemplo:
GET /rest/Person/?$filter="lastName!=Jones"&$method=entityset&$timeout=600
Puede colocar todos los valores entre comillas en caso de ambigüedad. Por ejemplo, en nuestro ejemplo anterior, podríamos haber puesto el valor del apellido entre comillas simples: "lastName!='Jones'".
Los parámetros le permiten manipular los datos de las clases de datos en su proyecto 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.
Si desea que los datos se devuelvan en un array en lugar de en JSON, utilice el parámetro $asArray.
Estado y respuesta REST
Con cada petición REST, el servidor devuelve el estado y una respuesta (con o sin error).
Estado de la petición
Con cada solicitud REST, se obtiene el estado junto con la respuesta. A continuación se presentan algunos de los estados que pueden surgir:
| Estado | Descripción |
|---|---|
| 0 | Solicitud no procesada (el servidor podría no estar iniciado). |
| 200 OK | Petición procesada sin error. |
| 401 Unauthorized | Error de permisos (compruebe los permisos del usuario). |
| 402 No session | Se ha alcanzado el número máximo de sesiones. |
| 404 Not Found | La clase de datos no es accesible vía REST o el conjunto de entidades no existe. |
| 500 Internal Server Error | Error al procesar la solicitud REST. |
Respuesta
La respuesta (en formato JSON) varía en función de la petición.
Si se produce un error, se enviará junto con la respuesta del servidor o será la respuesta del servidor.