[Gastosabertos] Inconsistência no json retornado da API

Luiz Armesto luiz.armesto em gmail.com
Sexta Outubro 2 16:22:53 UTC 2015


Para mim ok manter um objeto, só precisamos bater o martelo e fazer as
alterações necessárias (com quem está o martelo?).

Sobre o X-Total-Count, eu uso no header por alguns motivos. Os principais
são por ser "quase" um padrão (ok, não é um padrão, mas tem um monte de
gente que usa assim e recomenda) e independe do formato dos dados que a API
devolve (o mesmo cabeçalho serve para json, xml, csv, etc, será sempre lido
do mesmo modo)

2015-10-02 11:04 GMT-03:00 Andres MRM <andres em inventati.org>:

>
> Concordo. E não sabia que a "insegurança" era para casos tão específicos.
> De qualquer forma, será que não é melhor manter em um objeto para poder
> colocar outros metadados?
> Por exemplo, por que você está usando o X-Total-Count em um header? Ele
> poderia ir para dentro do próprio Json?
>
>
>
> [2015-09-24 22:48] Luiz Armesto:
>
> > Sim, retornar um json que consiste em um array é inseguro, mas só no
> caso de json com proteção CSRF e que tenha informações sensíveis. No nosso
> caso o conteúdo de todos os json do Gastos Abertos são públicos e essa
> questão não se aplica.
> >
> > Para mim não faz muita diferença se vai ser direto com array, se vai ser
> incapsulado em um objeto ou não, se vai ter um "while(1);" no começo (ok,
> isso eu me importo sim :p ). Só precisamos definir qual é o padrão e
> adaptar o que estiver diferente.
> >
> >
> > 2015-09-24 22:08 GMT-03:00 Andres MRM <[andres em inventati.org][1]>:
> >
> > >
> > Oi, Luiz! Eu "encapsulei" os Arrays dentro de um data porque estava dando
> > algum problema, e quando fui ver cai aqui:
> > <http://flask.pocoo.org/docs/0.10/security/#json-security>
> > Pelo que tinha entendido, retornar um JSON que já começa com Array seria
> > inseguro...
> >
> >
> > [2015-09-24 19:12] Luiz Armesto:
> >
> > >
> > > Precisamos padronizar o formato do json que a API serve. Estamos com
> vários problema de incompatibilidade.
> > >
> > > "/api/v1/execucao/info" retorna algo no seguinte formato:
> > >
> > >
> > >
> > > {
> > > "data": {
> > > "years": [
> > > "2003",
> > > "2004",
> > > "2005",
> > > "2006",
> > > "2007",
> > > "2008",
> > > "2009",
> > > "2010",
> > > "2011",
> > > "2012",
> > > "2013",
> > > "2014",
> > > "2015"
> > > ]
> > > }
> > > }
> > >
> > > Enquanto "/api/v1/receita/info" retorna
> > >
> > >
> > >
> > > [
> > > {
> > > "year": "2014"
> > > },
> > > {
> > > "year": "2013"
> > > },
> > > {
> > > "year": "2012"
> > > },
> > > {
> > > "year": "2011"
> > > },
> > > {
> > > "year": "2010"
> > > },
> > > {
> > > "year": "2009"
> > > },
> > > {
> > > "year": "2008"
> > > }
> > > ]
> > >
> > > Assim como "/api/v1/execucao/list" retorna um objeto com uma lista de
> objetos no campo "data". "/api/v1/receita/list" já retorna direto uma lista
> de objetos
> > >
> > >
> > > Qual padrão adotaremos?
> > >
> > >
> > > \\--
> > >
> > > Luiz Armesto
> > >
> >
> > > _______________________________________________
> > Gastosabertos mailing list
> > [Gastosabertos em lists.okfn.org][2]
> > <https://lists.okfn.org/mailman/listinfo/gastosabertos>
> >
> >
> >
> >
> >
> >
> > \--
> >
> > Luiz Armesto
> >
> >
> >    [1]: <mailto:andres em inventati.org>
> >    [2]: <mailto:Gastosabertos em lists.okfn.org>
> >
> _______________________________________________
> Gastosabertos mailing list
> Gastosabertos em lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/gastosabertos
>



-- 
Luiz Armesto
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.okfn.org/pipermail/gastosabertos/attachments/20151002/1a94472d/attachment-0003.html>


Mais detalhes sobre a lista de discussão Gastosabertos