[Gastosabertos] Inconsistência no json retornado da API
Andres MRM
andres em inventati.org
Sexta Outubro 2 14:04:49 UTC 2015
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>
>
Mais detalhes sobre a lista de discussão Gastosabertos