07 - Refatorando a Estrutura do Projeto # Questão 1 Quais são as funções do Router do FastAPI Criar uma "sub-aplicação"Isolar endpoints por domínioFacilitar a manutenção do códigoMelhorando o desempenho da aplicação Enviar # Questão 2 Sobre o parâmetro prefix do router, podemos afirmar que: Adicionar os endpoints no roteadorFazer as chamadas unificadas do enpointPadronizar um prefixo para N endpoints # Questão 3 Qual a função do parâmetro tag nos routers? Dizer quais parâmetros devem ser passados ao endpointsColocar um prefixo nos endpointsAgrupar os endpoins do mesmo domínio na documentaçãoAdicionar cores diferentes no swagger # Questão 4 Qual a função do tipo Annotated no FastAPI! Reduzir o tamanho das funçõesReutilizar anotações em N endpointsAtribuir metadados aos tiposTodas as alternativas # Questão 5 O que o Annotated faz nesse código? @app.put('/users/{user_id}', response_model=UserPublic) def endpoint(session: Annotated[Session, Depends(get_session)]) Diz que o parâmetro session é do tipo Session e depende de get_sessionDiz que o parâmetro session é do tipo AnnotatedFaz a troca de session por Session # Questão 6 O que o include_router faz nesse código? app = FastAPI() app.include_router(users.router) Adiciona as rotas definidas do router usersCria um novo app fastAPI para o routerSubstitui as rotas existentes pelas rotas de usersExclui as rotas de users da aplicação # Questão 7 O que faz Annotated[FilterPage, Query()] no nosso endpoint? Ignora parâmetros passados que não estejam em FilterPageAdiciona os campos de FilterPage na documentaçãoValida os tipos e valores passados via querystringTransforma os parâmetros de FilterPage em querystring Enviar # Questão 8 Qual o impacto das constantes movidas para a classe Settings? Excluir a necessidade um arquivo .envPode alterar configurações sem alterar o código fontePoder alterar os valores das contantes em tempo de execuçãoSimplificar as chamadas de código # Questão 9 Por qual motivo dividimos a aplicação em routers? Melhorar o desempenho da aplicaçãoMelhorar a organização do códigoFacilitar a manutençãoTodas as alternativas estão corretas Enviar # Questão 10 Por qual motivo read_root não foi migrado para nenhum router? É só um exemplo de códigoPor que ela retorna HTMLNão pertence a nenhum domínio dos routers em específicoPor que não faz uso de Session