Pessoal, tivemos uma pequena discussão na nossa daily de hoje referente ao envio de informações sobre paginação no header.
Alguns acham que fica escondido, e quem não dá muita manutenção no projeto, pode ter problemas na hora de debug, então alguns sugeriram deixar no corpo da resposta.
Gostaria de saber se vocês como vocês estão fazendo isso.
Bem, seguindo este post, eu implementei uma solução com header onde houve a discussão de hj.
http://www.metabates.com/2012/02/22/adding-pagination-to-an-api/
No comentários do post acima, uma pessoa disse ter criado uma gem para encapsular o retorno, mas as informações não foram suficientes para mim, então segui o post do autor e customizei o retorno.
https://github.com/richardkall/api_pagination_headers
Essas duas gems também enviam as informações de paginação no header.
https://github.com/davidcelis/api-pagination
https://github.com/IcaliaLabs/pager-api
Um comentário interessante é este aqui:http://stackoverflow.com/questions/12168624/pagination-response-payload-from-a-restful-api?answertab=votes#tab-top
Em resumo, Para as máquina adiciona-se o header, e para os humanos a informação no corpo quando for enviado parâmetro na requisição.
Neste mesmo link, mais abaixo tem outro comentário do envio pelo header, que tem o link para este
https://www.w3.org/wiki/LinkHeader
Porém este da w3, parece ser mais voltado a xml e não json.
Neste link, o dono do repositório diz que é um sample de documentação do swagger que utiliza o header também.
https://github.com/adnan-kamili/rest-api-response-format
O que acham?
Como vocês tem feito isso ?
Existe algum padrão de como seria o correto ?
Deixo aqui de antemão, o meu agradecimento aos comentários.
--
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
rails-br+unsubscribe@googlegroups.com
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+u...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--Atenciosamente,Douglas Rossignolli
--
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+u...@googlegroups.com.
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
----Atenciosamente,Douglas Rossignolli
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+unsubscribe@googlegroups.com.
--
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+u...@googlegroups.com.