Quiz 11 - Framework Web Gin 🚀
1. O Gin é considerado um framework "leve" e "rápido". Qual o principal motivo dessa fama?
Ele usa inteligência artificial para codar
Ele utiliza um roteador baseado em Radix Tree e tem baixíssima alocação de memória
Ele apaga os arquivos desnecessários do Windows
Ele só funciona com strings curtas
2. No Gin, qual objeto central é passado para todos os handlers para gerenciar a requisição e a resposta?
gin.Server
*gin.Context
http.Request
context.Background()
3. Como se define uma rota com parâmetro dinâmico no Gin (ex: pegar o ID do usuário)?
r.GET("/user/ID")
r.GET("/user/:id")
r.GET("/user/$id")
r.GET("/user/?id")
4. Qual a função do método `c.ShouldBindJSON(&struct)`?
Deletar o JSON enviado
Mapear automaticamente o corpo da requisição (JSON) para uma struct em Go
Validar a conexão com a internet
Transformar a struct em uma imagem
5. O que o `gin.H{}` permite que façamos?
Criar um loop infinito
Escrever um JSON de forma rápida e curta no estilo chave-valor
Hostear o site na nuvem
Esconder o cabeçalho da página
6. Como você agrupa rotas que compartilham um prefixo comum (ex: `/api/v1`)?
Copiando e colando o prefixo em cada linha
Usando o método `r.Group("/api/v1")`
Criando vários servidores diferentes
O Gin não permite agrupamento
7. Para que serve a tag `binding:"required"` nas structs?
Para deixar o texto em negrito
Para que o Gin valide automaticamente se aquele campo foi enviado no JSON
Para travar o banco de dados
Para aumentar a segurança contra hackers
8. Qual o comando para iniciar o servidor Gin na porta padrão?
r.Start()
r.Run()
r.Listen()
r.Serve()
9. O Gin já vem com sistema de logs e recuperação de pânicos (Recovery) por padrão?
Não, deve ser instalado por fora
Sim, ao usar `gin.Default()`, esses dois middlewares são ativados
Somente se o computador for potente
Somente na versão paga
10. Podemos usar Middlewares personalizados no Gin?
Não, o Gin é fechado
Sim, usando o método `r.Use()`
Sim, mas apenas para contar o tempo
Somente no pacote main