Primeiros Passos
Nesta seção, vamos criar sua primeira rota e entender como o colibri-sdk-go organiza os endpoints.
Criando sua primeira rota
Para adicionar um novo endpoint ao serviço, devemos definir um slice do tipo []restserver.Route.
package main
import (
"github.com/colibriproject-dev/colibri-sdk-go/colibri"
"github.com/colibriproject-dev/colibri-sdk-go/pkg/web/restserver"
)
type Awesome struct {
Greeting string `json:"greeting"`
}
var awesomeRoutes = []restserver.Route{
{
URI: "awesome",
Method: "GET",
Prefix: restserver.NoPrefix,
Function: func(ctx restserver.WebContext) {
body := Awesome{Greeting: "Meu Primeiro Projeto Colibri"}
ctx.JsonResponse(200, &body)
},
},
}
func main() {
colibri.InitializeApp()
// Adiciona as rotas ao servidor
restserver.AddRoutes(awesomeRoutes)
// Inicia o servidor (bloqueante)
restserver.ListenAndServe()
}
Entendendo o código:
- Definição da Rota: Criamos um objeto dentro do slice
awesomeRoutescom as seguintes propriedades:URI: O caminho do recurso. No exemplo, acessível emhttp://localhost:8080/awesome.Method: O método HTTP (GET, POST, etc.).Prefix: Define se a rota terá um prefixo automático (como/api/ou/public/). No exemplo, usamosNoPrefix.Function: A função handler que contém a lógica de negócio e responde ao cliente.
- Inicialização: Na função
main, chamamoscolibri.InitializeApp()para configurar o ambiente. - Registro: Utilizamos
restserver.AddRoutes()para carregar nossas definições de rotas.
Testando a aplicação
Após iniciar o serviço, você pode testar o endpoint utilizando o curl no terminal:
curl -X GET http://localhost:8080/awesome
Resultado esperado:
{
"greeting": "Meu Primeiro Projeto Colibri"
}