Aula 05 – Golang – Fiber – Packages
Aula 05 – Golang – Fiber – Packages
Voltar para página principal do site
Todas as aulas desse curso
Aula 04 Aula 06
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
Sigam o Código Fluente no Instagram e no TikTok.
Link para a Digital Innovation
Quer aprender python3 de graça e com certificado? Acesse então:
workover
Meus link de afiliados:
Hostinger
Digital Ocean
One.com
Código da aula: Github
Melhore seu NETWORKING
Participe de comunidades de desenvolvedores:
Fiquem a vontade para me adicionar ao linkedin.
E também para me seguir no GITHUB.
PIX para doações
Aula 05 – Golang – Fiber – Packages
Vamos criar três pastas:
- database
- routes
- controllers
Na pasta database, vamos criar um arquivo chamado: connect.go
Dentro, vamos criar a função connect() e transferir o código relativo a conexão com o banco do main.go (a parte em laranja) para essa função connect().
Vamos retirar os códigos que eram apenas exemplos, mas que não vão fazer parte de fato da aplicação, a linha que tem:
d, e := divide(2, 0)
fmt.Println(d, e)
E a própria função divide().
Resumindo, tudo que tá em laranja sai do main.go.
fiber-project/main.go
package main
import (
"errors"
"fmt"
"github.com/gofiber/fiber/v2"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
var dsn = "root:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
var v = "Não conseguiu conectar ao banco de dados"
_, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(v)
}
fmt.Println("Conexão OK!")
d, e := divide(2, 0)
fmt.Println(d, e)
app := fiber.New()
app.Get("/", home)
app.Listen(":3000")
}
func home(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
}
func divide(a int, b int) (int, error) {
if b == 0 {
return 0, errors.New("you cannot divide by zero")
}
return a / b, nil
}
O main.go vai ficar assim:
fiber-project/main.go
package main
import (
"fiber-project/database"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", home)
app.Listen(":3000")
}
func home(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
}
E o connect.go vai ficar assim:
fiber-project/database/connect.go
package database
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func Connect() {
var dsn = "toticavalcanti:mysql1234@/fluent_admin?charset=utf8mb4&parseTime=True&loc=Local"
var v = "Não conseguiu conectar ao banco de dados"
_, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(v)
}
fmt.Println("Conexão OK!")
}
Vamos criar a pasta routes e dentro o arquivo routes.go
fiber-project/routes/routes.go
package routes
import (
"fiber-project/controllers"
"github.com/gofiber/fiber/v2"
)
func Setup(app *fiber.App) {
app.Get("/", controllers.Home)
}
Agora vamos criar a pasta controllers e dentro o arquivo authController.go
fiber-project/controllers/authController.go
package controllers
import "github.com/gofiber/fiber/v2"
func Home(c *fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
}
E vamos tirar as partes de código que não irão mais fazer parte da main.go
fiber-project/main.go
package main
import (
"fiber-project/database"
"fiber-project/routes"
"github.com/gofiber/fiber/v2"
)
func main() {
database.Connect()
app := fiber.New()
routes.Setup(app)
app.Listen(":3000")
}
Derrube o servidor com ctrl + c e reinicie ele com:
go run main.go