xykkong / japi Goto Github PK
View Code? Open in Web Editor NEWFramework de API RESTful em java, para o CAPGOV.
Framework de API RESTful em java, para o CAPGOV.
A exception acontece aqui.
Temos que implementar o count antes e depois resolver esta questão.
Por algum motivo estranho, o order by não funciona.
Ao entrar nessa URI: /licitacoes/v1/licitacoes?order_by=uasg
, no console vemos:
SELECT modalidade,nome_modalidade,nome_uasg,numero_aviso,uasg FROM dados_abertos.vw_licitacao WHERE 1 = 1 ORDER BY ?, ? OFFSET ? LIMIT 500
valores ORDER BY: uasg ASC
valor OFFSET: 0
nenhum valor no where (considerado 1=1)
Mas, dando f5, o resultado é diferente sempre
(para testar, é preciso estar no banco da prd)
Nesta linha, neste arquivo temos o session.clear(). A intenção disso é limpar as informações do request anterior para o atual não ter problemas. Mas o que acontece é que estamos usando a info do request anterior e limpando depois, fazendo com que o primeiro request seja sempre como se nada tivesse vindo do GET e os próximos funcionam sempre com as informações do anterior, teste só pra ver.
Atualmente, temos na classe abstrata Filter o seguinte código:
protected Class<? extends Object> valueType = String.class;
protected List<String> parameters;
public abstract String getStatement();
public abstract ArrayList<String> getValues();
Estes métodos abstratos foram feitos na intenção de obrigar o Filter a enviar as informações necessárias para o Service.
Num primeiro momento, em relação ao método getValues()
, achei que faria mais sentido nós termos um ArrayList<String> values
como parâmetro da classe Filter e retornar o valor dele.
Depois pensei melhor e assumindo que cada filtro (ao ser adicionado na Session) pode se utilizar de vários parâmetros do banco e vários valores vindos da URL, então pensei em criar uma variável do tipo Map<String, List<String>>
para isso, substituindo a values
e parameters
. O que acham?
A ideia aqui é colocar tudo que for discutido e especulado sobre o projeto: frameworks, libs, como implementar tal coisa etc.
Inicialmente começamos com o que tem abaixo:
Itens a serem discutidos:
- parâmetros padrão da URI (offset e order by)
- validação dos campos de cada request
- LinkFactory e Providers (ver a questão de como serão mapeados os Resources)
Colocar o tipo dos dados no service, para podermos associar os Values como dates, por exemplo. Além de facilitar a vida a hora de colocar os filtros no esquema todo.
Ao invés de usar dois vetores, usar um objeto PairParameterValue, por exemplo, e o genericModel ser constituído de um vetor destes pares.
PairParameterValue terá uma String parameter e um Value value.
Criei a issue porque preciso ir embora, se não já tinha consertado isso.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.