3. Leer datos
| Recurso | Qué devuelve |
|---|---|
/o_customers | Una página de la colección: {"value":[...]}. |
/o_customers('C0001') | Una entidad. 404 si no existe. |
/o_customers('C0001')/name | Una propiedad: {"value":"Molinos del Sur SA"}. |
/o_customers('C0001')/name/$value | El valor crudo, text/plain, sin JSON alrededor. |
/o_customers/$count | La cantidad de filas, text/plain. Respeta $filter y $search. Solo sobre colecciones: /o_customers('C0001')/$count devuelve 400. |
Claves
Clave simple: el valor va entre paréntesis. Los textos van entre comillas simples, los números sin comillas.
# clave de texto
/o_customers('C0001')
# clave numerica
/o_invoices(48127)
# una comilla dentro del valor se duplica
/o_customers('O''Brien')
# clave compuesta: nombre=valor, separados por coma
/o_stock(warehouse='DEP01',sku='A-100')
aviso
Con clave compuesta siempre se usa nombre=valor. Si la entidad tiene más de un campo en su <Key> y mandás un solo valor sin nombre, la respuesta es 400 InvalidKey indicando cuántas propiedades hacen falta.
Casos de respuesta vacía
No todo lo vacío devuelve lo mismo. Vale tenerlo a mano porque es fuente de confusión:
| Situación | Respuesta |
|---|---|
| Colección sin resultados | 200 con {"value":[]} |
| Entidad inexistente | 404 ResourceNotFound |
Propiedad con valor null | 204 sin cuerpo (no {"value":null}) |
Navegación de muchos a uno con la FK en null | 204 sin cuerpo |
| Navegación de muchos a uno cuya fila destino no existe | 404 ResourceNotFound |
| Navegación de uno a muchos sin hijos | 200 con {"value":[]} |
Campo null dentro del cuerpo de una entidad | se emite explícito: "city_code": null |