Skip to content

Latest commit

 

History

History

group

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Group

O Group é uma funcionalidade do Framework Quick que permite agrupar rotas e aplicar middleware a elas.

Por exemplo, se você tiver um conjunto de rotas que precisam de autenticação antes de serem acessadas, em vez de adicionar o middleware de autenticação individualmente para cada rota, pode agrupá-las usando a funcionalidade Group e aplicar o middleware a todas as rotas do grupo de uma só vez. Isso pode tornar o código mais legível e organizado, além de evitar a repetição de código.

Group01

package main

import "github.com/jeffotoni/quick"

func main() {
	q := quick.New(quick.Config{
		MaxBodySize: 5 * 1024 * 1024,
	})

	group := q.Group("/v1")
	group.Get("/user", func(c *quick.Ctx) error {
		return c.Status(200).SendString("[GET] [GROUP] /v1/user ok!!!")
	})

	group.Post("/user", func(c *quick.Ctx) error {
		return c.Status(200).SendString("[POST] [GROUP] /v1/user ok!!!")
	})

 q.Listen("0.0.0.0:8080")
}
$ curl --location --request GET 'http://localhost:8080/v1/user' \
--header 'Content-Type: application/json/' \
--data '[GET] [GROUP] /v1/user ok!!!'

Group02

package main

import "github.com/jeffotoni/quick"

func main() {
	q := quick.New(quick.Config{
		MaxBodySize: 5 * 1024 * 1024,
	})

	group2 := q.Group("/v2")

	group2.Get("/user", func(c *quick.Ctx) error {
		c.Set("Content-Type", "application/json")
		return c.Status(200).SendString("Quick em ação com [GET] /v2/user ❤️!")
	})

	group2.Post("/user", func(c *quick.Ctx) error {
		c.Set("Content-Type", "application/json")
		return c.Status(200).SendString("Quick em ação com [POST] /v2/user ❤️!")
	})


 q.Listen("0.0.0.0:8080")
}
$ curl --location --request GET 'http://localhost:8080/v2/user' \
--header 'Content-Type: application/json/' \
--data 'Quick em ação com [POST] /v2/user ❤️!'