HATEOAS
Hypermedia as the Engine of Application State_, ou HATEOAS, é uma “maneira” de implementar APIs REST utilizando hipermídia para indicar que ações ou navegações estão disponíveis para um determinado recurso.
As ações e a navegação são derivadas do estado do recurso e, eventualmente, da própria API. Elas são disponibilizadas para o cliente através de uma coleção de links.
Sucesso
{
"data": {
///..
},
"links": [
{
"uri":"https://api-mtls.bankly.com.br/[resources]/{resourceId}",
"ref": "get"
}
],
"meta": {
"totalRecords": 1,
"totalPages": 1,
"requestTimestamp": "2021-05-21T08:30:00.00000Z",
"responseTimestamp": "2021-05-21T08:30:00.00100Z"
}
}
{
"data":
[
{
///..
},
{
///..
}
],
"links": [
{
"uri":"https://api.bankly.com.br/[resources]?limit=10&page=1",
"ref": "self"
},
{
"uri":"https://api.bankly.com.br/[resources]?limit=10&page=1",
"ref": "first"
},
{
"uri":"https://api.bankly.com.br/[resources]?limit=10&page=1",
"ref": "prev"
},
{
"uri":"https://api.bankly.com.br/[resources]?limit=10&page=2",
"ref": "next"
},
{
"uri":"https://api.bankly.com.br/[resources]?limit=10&page=10",
"ref": "last"
}
],
"meta": {
"totalRecords": 10,
"totalPages": 10,
"requestTimestamp": "2021-05-21T08:30:00.00000Z",
"responseTimestamp": "2021-05-21T08:30:00.00100Z"
}
}
Erros
{
"errors": [
{
"code": "SOME_ERROR_OCCURS",
"messages": [ "Name must not be empty." ]
}
],
"links": [
{
"uri":"https://docs.bankly.com.br/reference",
"ref": "docs"
}
] ,
"meta": {
"totalErrors": 1,
"requestTimestamp": "2021-05-21T08:30:00.00000Z",
"responseTimestamp": "2021-05-21T08:30:00.00100Z"
}
}
Atenção
Alguns endpoints mais antigos podem não seguir essa convenção de retorno. Esses endpoints estão sendo revisados e, quando disponíveis, você poderá optar por receber esse formato de retorno informando o header Accept application/vnd.bankly.2+json. Sempre que possível, prefira utilizar esse retorno!
Updated 12 months ago