Para una API REST en la que estoy trabajando, quiero devolver JSON en un diseño consistente:
{
"Data" : {
"Id" : 123,
"Email" : "charlie@somewhere.com"
"Firstname" : "Charlie",
"Surname" : "Brown",
},
"Error" : null
}
La carga siempre contendrá "Datos" y "Error", donde uno u otro puede ser nulo.
Mi pregunta se refiere a "Datos" y puntos finales que solo devuelven un objeto. Por ejemplo, supongamos que tengo una API users/current
, que devuelve el usuario autenticado actualmente. Hubiera devuelto a ese usuario como se muestra arriba; un solo objeto JSON llamado "Datos".
Para los puntos finales que podrían devolver cero, uno o más objetos, entonces (por supuesto) haría que "Datos" sea una matriz:
{
"Data" : [
{
(first object)
},
{
(second object)
}
],
"Error" : null
}
He escuchado un punto de vista que, por coherencia, "Datos" siempre debe ser una matriz. Incluso cuando un punto final lógicamente solo devolvería un solo objeto (o nulo).
¿Qué piensan los demás? Creo que no hay necesidad de hacer "Datos" y una matriz si nunca habrá más de un objeto devuelto.