Mudanças entre as edições de "Go: RESTful - manipulando uma variável"
De Aulas
(Criou página com 'Afluentes: Sistemas Distribuídos e Mobile = Manipulando uma variável = Agora temos um exemplo um pouquinho mais complexo. Criamos uma variável chamada <code>number</c...') |
|||
Linha 3: | Linha 3: | ||
= Manipulando uma variável = | = Manipulando uma variável = | ||
− | Agora temos um exemplo um pouquinho mais complexo. Criamos uma variável chamada <code>number</code> e vamos usar as chamadas do serviço pelo método <code>GET</code> para retornar o valor e pelo método <code>PATCH<code> para alterar o valor. | + | Agora temos um exemplo um pouquinho mais complexo. Criamos uma variável chamada <code>number</code> e vamos usar as chamadas do serviço pelo método <code>GET</code> para retornar o valor e pelo método <code>PATCH</code> para alterar o valor. |
Veja que o <code>GET</code> é igual o do nosso exemplo Hello World. Mas o <code>PATCH</code> eu envio uma informação na chamada, que é o novo número. | Veja que o <code>GET</code> é igual o do nosso exemplo Hello World. Mas o <code>PATCH</code> eu envio uma informação na chamada, que é o novo número. | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=golang> |
package main | package main | ||
Edição das 11h55min de 1 de março de 2024
Afluentes: Sistemas Distribuídos e Mobile
Manipulando uma variável
Agora temos um exemplo um pouquinho mais complexo. Criamos uma variável chamada number
e vamos usar as chamadas do serviço pelo método GET
para retornar o valor e pelo método PATCH
para alterar o valor.
Veja que o GET
é igual o do nosso exemplo Hello World. Mas o PATCH
eu envio uma informação na chamada, que é o novo número.
package main
import (
"fmt"
"net/http"
"strconv"
)
func main() {
number := 0
router := http.NewServeMux()
router.HandleFunc("GET /number", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "%s", strconv.Itoa(number))
})
router.HandleFunc("PATCH /number/{num}", func(w http.ResponseWriter, r *http.Request) {
number, _ = strconv.Atoi(r.PathValue("num"))
fmt.Fprintf(w, "number updated to %d", number)
})
err := http.ListenAndServe("localhost:8080", router)
if err != nil {
fmt.Println(err.Error())
}
}