Para uma API REST em que estou trabalhando, desejo retornar o JSON em um layout consistente:
{
"Data" : {
"Id" : 123,
"Email" : "charlie@somewhere.com"
"Firstname" : "Charlie",
"Surname" : "Brown",
},
"Error" : null
}
A carga útil sempre conterá "Dados" e "Erro", onde um ou outro pode ser nulo.
Minha pergunta diz respeito a "Dados" e pontos de extremidade que realmente retornam apenas um objeto. Por exemplo, digamos que eu tenho uma API users/current
, que retorna o usuário autenticado no momento. Eu teria retornado esse usuário como mostrado acima; um único objeto JSON chamado "Dados".
Para terminais que poderiam retornar zero, um ou mais objetos, eu (é claro) tornaria "Dados" uma matriz:
{
"Data" : [
{
(first object)
},
{
(second object)
}
],
"Error" : null
}
Ouvi um ponto de vista de que, por consistência, "Dados" sempre deve ser uma matriz. Mesmo quando um ponto de extremidade logicamente retornaria apenas um único objeto (ou nulo).
O que os outros pensam? Eu acho que não há necessidade de criar "Data" e array se nunca haverá mais de um objeto retornado.