Open marcuswac opened 8 years ago
@jeffersonrpn usamos o código ibge dos municipios?
Se sim, a API GET rankedfornecedores/pb/2008/1/codigo_municipio ou GET rankedfornecedores/pb/2008/1 (para todos os municípios)
A parte ruim dessa forma é manter uma lista de (códigos, Nome Município no FE). Outra opção seria expor mais um API endpoint pra retornar essa lista de tuplas GET municipios/pb.
Qual das opções você prefere, @jeffersonrpn ?
O jooby permite passar parâmetro "opcional" na URL? Algo assim:
API GET rankedfornecedores/?ano=2008&ranking=1&cod_municipio=123456
Se os valores não fossem passados, os default seriam ano=2008, ranking=1, cod_municipio = null (para todo o estado).
Isso é possível? Porque ai faria um único endpoint, mas dependendo dos parâmetros retornaria para um município específico ou para toda a paraíba.
Só para esclarecer a diferença entre sua sugestão e rankedfornecedores/pb/2008/1/codigo_municipio, @marcuswac : Você quer ter algo super duper genérico, certo?
Perguntando pois em ambos os casos podériamos ter um único endpoint. A diferença está na obrigatoriedade do ranking type, estado e legislatura.
Não tenho opinião forte, porém, voto em não mexer a URL por dois motivos:
Caso a gente opte por seguir o caminho dos parâmetros de URL + valores padrão, teremos que retornar eles na resposta (assim fica mais claro).
Dito isso, podemos passar o município por parâmetro ou por URL path. Qualquer um dos dois me faz feliz.
Depois da sua explicação, concordo em não mexer na URL para ter menos mudança e ser mais fácil de entender.
Os códigos do município usados no frontend são os do IBGE sim. Deveria vir tudo da API, mas não temos dados de shapefile (polígono dos municípios) por isso pego de outro arquivo JSON. A sua pergunta era se deve existir um endpoint /pb/municipios que retorna todos? Se sim, só será necessário se for pra listar num combobox ou ajudar na pesquisa.
Beleza, @jeffersonrpn ... precisaremos disso quer seja para listar num combobox ou em uma type ahead (https://twitter.github.io/typeahead.js/).
@marcuswac massa .. vou implementar a API desse jeito então. Valeu!
Implementei a API GET /ranked/fornecedores/2008/1/codigo_municipio
Ele retorna os fornecedores daquele município, ordenado pelo rankingFunction (quantidade ou valor total). Eu não determinei um limite na quantidade, então ela retorna todos os fornecedores do município.
Exemplo de chamada para Campina Grande: http://web.cloud.lsd.ufcg.edu.br:44158/ranked/fornecedores/2008/1/2504009
Criar um novo box para que o usuário escolha para qual município ele quer ver os top fornecedores. O default deve ser "Todos", mostrando os top fornecedores para toda a Paraíba, como atualmente.
Além das mudanças na interface, deve ser feita uma API no back-end para que seja retornada a lista de fornecedores para um município, ordenado de acordo com a função de ranking passada como parâmetro (quantidade de licitações ou valor total das licitações).