[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