You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**O Fiber** é uma [estrutura da](https://github.com/expressjs/express)**Web**inspirada no [Expressjs](https://github.com/valyala/fasthttp) , construída sobre o [Fasthttp](https://github.com/valyala/fasthttp), o mecanismo HTTP **mais rápido** do [Go](https://golang.org/doc/). Projetado para **facilitar** o desenvolvimento **rápido**, com **zero de alocação de memória** e **desempenho** em mente.
9
+
**Fiber** é um framework **web**inspirado no [Express](https://github.com/expressjs/express) e construído sobre o [Fasthttp](https://github.com/valyala/fasthttp), o engine HTTP **mais rápido** do [Go](https://golang.org/doc/). Projetado para **facilitar** o desenvolvimento **rápido**, com **zero de alocação de memória** e **performance** em mente.
10
10
11
11
## Instalando
12
12
13
13
Primeiro de tudo, faça o [download](https://golang.org/dl/) e instale o Go.
14
14
15
-
{% hint style = "success"%} É necessário **1,11** (com os [módulos de ativação](https://golang.org/doc/go1.11#modules) ativados) ou superior. {% endhint%}
15
+
{% hint style = "success"%} É necessário o uso do Go **1.11** (com os [Go Modules](https://golang.org/doc/go1.11#modules) ativados) ou superior. {% endhint%}
16
16
17
17
A instalação é feita usando o comando [`go get`](https://golang.org/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them) :
18
18
@@ -22,28 +22,29 @@ go get -u github.com/gofiber/fiber
22
22
23
23
## Olá Mundo!
24
24
25
-
Incorporado abaixo está o aplicativo**Fibre**essencialmente mais simples, que você pode criar.
25
+
Abaixo temos o app**Fiber** mais simples que você pode criar:
26
26
27
27
```text
28
28
touch server.go
29
29
```
30
30
31
31
```go
32
+
// server.go
32
33
package main
33
34
34
35
import"github.com/gofiber/fiber"
35
36
36
37
funcmain() {
37
-
//Create new Fiber instance:
38
+
//Cria nova instância do Fiber
38
39
app:= fiber.New()
39
-
40
-
//Create route on root path, "/":
40
+
41
+
//Cria rota no caminho raíz, "/":
41
42
app.Get("/", func(c *fiber.Ctx) {
42
-
c.Send("Hello, World!")
43
-
// => "Hello, World!"
43
+
c.Send("Olá, Mundo!")
44
+
// => "Olá, Mundo!"
44
45
})
45
-
46
-
//Start server on "localhost" with port "8080":
46
+
47
+
//Inicia servidor no localhost e na porta 8080
47
48
app.Listen(8080)
48
49
}
49
50
```
@@ -52,91 +53,91 @@ func main() {
52
53
go run server.go
53
54
```
54
55
55
-
Navegue para `http://localhost:8080` e você verá `Hello, World!` na página.
56
+
Navegue para `http://localhost:8080` e você verá `Olá, Mundo!` na página.
56
57
57
58
## Roteamento básico
58
59
59
-
O roteamento refere-se à determinação de como um aplicativo responde a uma solicitação do cliente para um terminal específico, que é um URI (ou caminho) e um método de solicitação HTTP específico (GET, PUT, POST e assim por diante).
60
+
O roteamento refere-se à como uma aplicação responde a uma requisição para um _endpoint_ específico, que é formado por um [URI](https://pt.wikipedia.org/wiki/URI) (ou caminho) e um [método de requisição HTTP](https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol#M%C3%A9todos_de_solicita%C3%A7%C3%A3o) específico (GET, PUT, POST e outros).
60
61
61
-
{% hint style = "info"%} Cada rota pode ter **uma função de manipulador**, que é executada quando a rota é correspondida. {% endhint%}
62
+
{% hint style = "info"%} Cada rota pode ter **várias funções _handler_**, que são executadas quando há uma correspondência da rota. {% endhint%}
62
63
63
-
A definição de rota utiliza as seguintes estruturas:
64
+
A definição de rotas utiliza a seguinte estrutura:
64
65
65
66
```go
66
-
//Function signature
67
+
//Assinatura da função
67
68
app.Method(func(*fiber.Ctx))
68
69
app.Method(path string, func(*fiber.Ctx))
69
70
```
70
71
71
72
-`app` é uma instância do **Fiber** .
72
-
-`Method` é um [método de solicitação HTTP](https://fiber.wiki/application#methods) , em maiúsculas: `Get` , `Put` , `Post` , etc.
73
+
-`Method` é um [método de requisição HTTP](https://fiber.wiki/application#methods) , em maiúsculas: `Get` , `Put` , `Post` , etc.
73
74
-`path` é um caminho no servidor.
74
-
-`func(*fiber.Ctx)` é uma função de retorno de chamada que contém o [contexto](https://fiber.wiki/context) executado quando a rota é correspondida.
75
+
-`func(*fiber.Ctx)` é uma função _callback_que recebe o [Context](https://fiber.wiki/context) executado quando a rota é correspondida.
75
76
76
77
### Rota simples
77
78
78
79
```go
79
-
//Respond with "Hello, World!" on root path, "/":
80
+
//Responde com "Olá, Mundo!" na caminho raíz, "/":
80
81
app.Get("/", func(c *fiber.Ctx) {
81
-
c.Send("Hello, World!")
82
+
c.Send("Olá, Mundo!")
82
83
})
83
84
```
84
85
85
86
### Rota com parâmetro
86
87
87
88
```go
88
-
// GET http://localhost:8080/hello%20world
89
+
// GET http://localhost:8080/ola%20mundo
89
90
90
-
app.Get("/:value", func(c *fiber.Ctx) {
91
-
c.Send("Get request with value: " + c.Params("value"))
92
-
// => Get request with value: hello world
91
+
app.Get("/:valor", func(c *fiber.Ctx) {
92
+
c.Send("Requisição GET com valor: " + c.Params("valor"))
93
+
// => Requisição GET com valor: ola mundo
93
94
})
94
95
```
95
96
96
97
### Rota com parâmetro opcional
97
98
98
99
```go
99
-
// GET http://localhost:8080/hello%20world
100
+
// GET http://localhost:8080/ola%20mundo
100
101
101
-
app.Get("/:value?", func(c *fiber.Ctx) {
102
-
if c.Params("value") != "" {
103
-
c.Send("Get request with value: " + c.Params("Value"))
104
-
// => Get request with value: hello world
102
+
app.Get("/:valor?", func(c *fiber.Ctx) {
103
+
if c.Params("valor") != "" {
104
+
c.Send("Requisição GET com valor: " + c.Params("valor"))
105
+
// => Requisição GET com valor: ola mundo
105
106
return
106
107
}
107
-
108
-
c.Send("Get request without value")
108
+
109
+
c.Send("Requisição GET sem nenhum valor")
109
110
})
110
111
```
111
112
112
-
### Rota com curinga
113
+
### Rota com _wildcard_
113
114
114
115
```go
115
-
// GET http://localhost:8080/api/user/john
116
+
// GET http://localhost:8080/api/usuario/joao
116
117
117
118
app.Get("/api/*", func(c *fiber.Ctx) {
118
-
c.Send("API path with wildcard: " + c.Params("*"))
119
-
// => API path with wildcard: user/john
119
+
c.Send("Caminho na API com wildcard: " + c.Params("*"))
120
+
// => Caminho na API com wildcard: usuario/joao
120
121
})
121
122
```
122
123
123
124
## Arquivos estáticos
124
125
125
-
Para veicular arquivos estáticos, como **imagens**, arquivos **CSS** e **JavaScript**, substitua o manipulador de funções por uma sequência de arquivos ou diretórios.
126
+
Para servir arquivos estáticos, como **imagens**, arquivos **CSS** e **JavaScript**, substitua a função handler por strings de arquivos ou diretórios.
126
127
127
128
Assinatura da função:
128
129
129
130
```go
130
-
app.Static(rootstring) // => without prefix
131
-
app.Static(prefix, rootstring) // => with prefix
131
+
app.Static(raizstring) // => sem prefixo
132
+
app.Static(prefixo, raizstring) // => com prefixo
132
133
```
133
134
134
135
Use o código a seguir para servir arquivos em um diretório chamado `./public` :
135
136
136
137
```go
137
138
app:= fiber.New()
138
139
139
-
app.Static("./public") // => Serve all files into ./public
140
+
app.Static("./public") // => Serve todos os arquivos em ./public
0 commit comments