[Gastosabertos] API para demais esferas
Andres MRM
andres em inventati.org
Terça Julho 7 15:45:22 UTC 2015
Relacionado e puxando a conversa daqui:
https://lists.okfn.org/pipermail/gastosabertos-dev/2015-March/000163.html
Ainda precisamos de um gerador de doc da API.
O que acham de usarmos o:
https://github.com/noirbizarre/flask-restplus
Ele parece casar bem com o flask-restful que já estamos usando e gera uma doc
em Swagger, que foi um formato que o Danilo comentou comigo esses dias também.
Quoting Luiz Armesto (2015-07-07 12:17:44)
> Gostei, fazer uma hierarquia "pais/estado/municipio" me parece uma boa, afinal
> não faz sentido misturar em uma mesma query esferas e locais diferentes, além
> de ser um parametro obrigatório.
>
> dai para municipal fica, no caso de receita
>
> /api/v1/PAIS/ESTADO/MUNICIPIO/receita/list?years=2013
>
> Para o estadual
>
> /api/v1/PAIS/ESTADO/receita/list?years=2013
>
> E para o federal
>
> /api/v1/PAIS/receita/list?years=2013
>
>
>
>
>
> 2015-07-07 12:07 GMT-03:00 Andres MRM <andres em inventati.org>:
>
>
> Tem razão. Bom, se queremos ser genéricos, cidade, estado e país me parecem
> obrigatórios, não? Logo forte candidatos a ficar entre "barrinhas". ;)
>
> /brasil/sp/saopaulo/
>
>
> Quoting Luiz Armesto (2015-07-07 12:02:06)
> > Valeu pela dica, mas o questionamento é para modelagem da API e não
> endereços
> > de páginas. Para endereços de site eu concordo que querystring não é
> desejável,
> > mas no caso de API o uso ou não de querystring depende do design que
> > decidirmos. Tem coisa que faz sentido fazer parte da querystring e outras
> não.
> > Parametros de filtragem faz sentido estar na querystring (e é para isso
> que
> > usamos), pois a maioria é opicional, alguns aceitam mais de um valor,
> outros
> > permitem intervalos, alguns são booleanos, etc. Mapear todos os possíveis
> > parametros de filtragem para níveis da url torna a API muito complexa
> tanto
> > para implementação quanto para utilização, além de fugir do padrão
> amplamente
> > adotado e, portanto, diminuindo a compatibilidade com várias bibliotecas.
> >
> > O uso de parametros na querystring, e a decisão de quais usar, será por
> decisão
> > consciente e não por possivel dificuldade técnica.
> >
> >
> > 2015-07-07 11:42 GMT-03:00 Andres MRM <andres em inventati.org>:
> >
> >
> > Bem pensado, Luiz.
> >
> > Quoting Oda (2015-07-07 11:38:29)
> > > So um pitaco: me agrada o nao uso do ?var=value
> >
> > Concordo com o Oda.
> > Também não gosto do "?a=91hhod&b=hjd982189&c=2983wo9hjd&d=9821wk928"
> >
> >
> > Quoting Oda (2015-07-07 11:38:29)
> > > So um pitaco: me agrada o nao uso do ?var=value
> > >
> > > Precisa amadurecer mais, mas um .htaccess com algo assim ajuda a
> ter
> > > url's limpas:
> > >
> > > RewriteCond %{REQUEST_FILENAME} !-f
> > > RewriteCond %{REQUEST_FILENAME} !-d
> > > RewriteCond %{REQUEST_URI} !=/favicon.ico
> > > RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
> > >
> > > --
> > > Oda
> > > ------------------------------------------------------
> > > If you don't have time to do it right, where
> > > are you going to find the time to do it over?
> > > ------------------------------------------------------
> > >
> > >
> > > 2015-07-07 11:20 GMT-03:00 Luiz Armesto <luiz.armesto em gmail.com>:
> > > > Atualmente só estamos trabalhando com os dados do município de
> São
> > Paulo,
> > > > mas está planejado que o projeto será ampliado para outras
> esferas,
> > correto?
> > > >
> > > > Como só estamos trabalhando com dados específicos, os endpoints
> da API
> > não
> > > > possuem identificação de onde são os dados. Por exemplo
> > > >
> > > > /api/v1/receita/list?years=2013
> > > >
> > > > lista os dados de receita para o município de São Paulo do ano de
> 2013.
> > Para
> > > > acomodar dados de receita de outras esferas, ou outros locais,
> como
> > será
> > > > feito?
> > > >
> > > > /api/v1/receita/estadual/saopaulo/list?years=2013
> > > >
> > > > /api/v1/estadual/saopaulo/receita/list?years=2013
> > > >
> > > > /api/v1/receita/list?years=2013&estado=São%20Paulo
> > > >
> > > >
> > > > É bom já ter isso decidido e implementado mesmo antes de expandir
> os
> > dados
> > > > que dispomos, para que a API se mantenha estável e não precisemos
> > depois
> > > > ficar criando novas versões e termos mais código para manter em
> > paralelo.
> > > >
> > > > --
> > > > Luiz Armesto
> > > >
> > > > _______________________________________________
> > > > Gastosabertos mailing list
> > > > Gastosabertos em lists.okfn.org
> > > > https://lists.okfn.org/mailman/listinfo/gastosabertos
> > > >
> > > _______________________________________________
> > > Gastosabertos mailing list
> > > Gastosabertos em lists.okfn.org
> > > https://lists.okfn.org/mailman/listinfo/gastosabertos
> > _______________________________________________
> > Gastosabertos mailing list
> > Gastosabertos em lists.okfn.org
> > https://lists.okfn.org/mailman/listinfo/gastosabertos
> >
> >
> >
> >
> > --
> > Luiz Armesto
> _______________________________________________
> Gastosabertos mailing list
> Gastosabertos em lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/gastosabertos
>
>
>
>
> --
> Luiz Armesto
Mais detalhes sobre a lista de discussão Gastosabertos