Pular para conteúdo

Aula 11 - Framework Web Gin 🚀

Acelerando o Desenvolvimento Backend


Agenda de Hoje 📅

  1. Por que usar Frameworks?
  2. Introdução ao Gin Gonic
  3. Roteamento e Parâmetros
  4. JSON Binding e Validação
  5. Grupos de Rotas e Organização
  6. Mini-Projeto: API de Clientes

1. Gin: O Motor de Performance 🏍️

  • Um dos frameworks mais rápidos do mundo Go.
  • Sintaxe amigável (estilo Martini/Sinatra).
  • Gopher Friendly: Foca na produtividade.
r := gin.Default()
r.Run()

2. O Contexto do Gin 📦

  • c *gin.Context é o seu canivete suíço.
  • Captura Params, Query, Body e Response.
id := c.Param("id")
status := c.Query("status")

3. Roteamento Limpo 📍

v1 := r.Group("/v1")
{
    v1.POST("/login", loginHandler)
    v1.GET("/perfil", perfilHandler)
}
  • Aplique Middlewares apenas em grupos específicos.

4. Validação Inteligente 🛡️

  • Use as Struct Tags a seu favor.
type User struct {
    Email string `json:"email" binding:"required,email"`
    Idade int    `json:"idade" binding:"gte=18"`
}
  • Gin valida e retorna erro 400 automaticamente.

5. Hierarquia Gin 📊

graph TD
    Engine[Gin Engine] --> Router[Router Group]
    Router --> Middleware[Log/Auth]
    Middleware --> Handler[Business Func]
    Handler --> Context[Gin Context]

6. Mini-Projeto: API de Clientes 🚀

  • Criar rota POST /clientes.
  • Validar entrada de e-mail.
  • Retornar JSON com sucesso ou erro detalhado.

Resumo da Aula ✅

  • Gin automatiza as tarefas chatas (binding, roteamento).
  • Grupos de rotas mantêm o projeto organizado.
  • Validação via Tags evita código boilerplate de if.

Próxima Aula: Banco de Dados com GORM 💾

  • Persistência real.
  • Migrations Automáticas.

Dúvidas? 🤔

"Não reinvente a roda, use um motor potente. Use Gin."