Closed marcosronaldo closed 6 years ago
Merging #85 into master will increase coverage by
0.86%
. The diff coverage is93.2%
.
@@ Coverage Diff @@
## master #85 +/- ##
==========================================
+ Coverage 87.85% 88.71% +0.86%
==========================================
Files 50 54 +4
Lines 1844 2171 +327
Branches 164 167 +3
==========================================
+ Hits 1620 1926 +306
- Misses 169 186 +17
- Partials 55 59 +4
Impacted Files | Coverage Δ | |
---|---|---|
salic_api/resources/projeto/projeto_list.py | 100% <ø> (ø) |
:arrow_up: |
salic_api/fixtures/sac.py | 100% <ø> (ø) |
:arrow_up: |
salic_api/salic_graphql/schema.py | 100% <100%> (ø) |
|
salic_api/resources/incentivador/query.py | 70% <100%> (ø) |
:arrow_up: |
salic_api/resources/preprojeto/pre_projeto_list.py | 100% <100%> (ø) |
:arrow_up: |
salic_api/app/urls.py | 90.32% <100%> (+0.66%) |
:arrow_up: |
salic_api/resources/projeto/projeto_detail.py | 90.29% <100%> (+0.29%) |
:arrow_up: |
salic_api/resources/incentivador/doacao.py | 64.28% <100%> (ø) |
:arrow_up: |
salic_api/resources/preprojeto/query.py | 100% <100%> (ø) |
:arrow_up: |
salic_api/resources/resource.py | 77.45% <80%> (-2.45%) |
:arrow_down: |
... and 11 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update de397c2...fa357a1. Read the comment docs.
A API em graphql está apresentando, a princípio, apenas uma nova forma de buscar os dados que já estão disponíveis na API rest, entretanto é mais fácil de ser evoluída com novas informações.
A paginação está feita de forma superficial utilizando a mesma lógica da API rest, aceitando apenas parâmetros de limit e offset em vez da utilização padrão do cursor, edges e nodes de graphQL.
Na API rest, o endpoint de detalhe projeto faz várias queries adicionais no banco, que são necessárias para obter certas informações. Esses campos que precisam de query adicional não estão na lista de projetos para que não entrasse no problema de query n+1. Diferente da API rest, a API em graphql pode buscar informacoes detalhadas de projetos mesmo buscando em lista, o que pode deixar a query MUITO lenta. Cabe ao usuário tomar cuidado com a utilização e obter essas informações apenas com uma quantidade muito pequena de projetos.
Quando em execução, a API em graphQL fica disponível /graphql. Entretanto, existe também o caminho /graphiql que contém uma interface gráfica para utilização da API, com um auxílio de autocomplete e documentação básica das informações que podem ser obtidas.