GO PARA WEB COM E 100 DOCKER! Parte 2

Diego Santos
2 min readAug 31, 2018

--

Criando rotas com pacote HTTP nativo do GO!

Como sabemos, Go é composto por diverços pacotes e um deles é o NET/HTTP

1 O que ele é capas de fazer e o que podemos fazer com ele?
Vamos pensar que estamos fazendo uma chamada em uma api via method GET. Para que possamos consultar esses dados vamos precisar usar este pacote. vamos ver um exemplo?

package mainimport (
"fmt"
"io/ioutil"
"log"
"net/http"
)func main() {
resp, err := http.Get("http://api.developinsight.com.br/v1/cep/30626670")
if err != nil {
log.Fatal("Erro no GET da url.", err.Error())
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal("Erro na leitura do body...", err.Error())
}
fmt.Println("Retorno:\r\n", string(body))
}

No codigo acima estamos fazerndo uma requisição na api que retornar um json “Eu sei pois fiz um test” a unica coisa que modei foi a forma de mostrar o resultado. Continuando ao chamar o http.GET ele nos develve um erro e um resultado logo eu libro o espaço ocupado na memorio usando comando defer se chegar neste ponto que não teve nenhum error ao chamar a URL informada, por fim transforme ele em string so para exibir o resultado.

Como criar uma rota.

package mainimport (
"net/http"
"github.com/DiegoSantosWS/gotoweb/example_html/models"
)
func main() {
//rota index
http.HandleFunc("/", models.IndexPage)
//rota contato
http.HandleFunc("/contato", models.ContactPage)
//fmt.Println("Estou escutando comandante...")
//Instanciando servidor na porta 1234
http.ListenAndServe(":1234", nil)
}

Bom é assim que criamos uma rota usando o pacote net/http, esse bloco de codigo está fazendo é o seguinte:

1 — Inicia importando os pacotes que vamos usar.
Notem que no import tem um outro pacote… esse é um pacote criado para chamar as funções que vamos usar em nosso handleFunc
2 — Na função main do programa foi criada 2 rotas uma para a index ou seja ao abrir em um navegador vai ser chamada a pagina principal e a outra para um form de contato.

Por fim eu chamei um o http.ListenAndServe para iniciar nosso servidor…
sim isso mesmo vamos iniciar um servidor web, o Go é tão lindo que já vem com um servidor kkkk.

$ go run main.go

Com o comando vamos executar o nosso programa e podemos acessar via browser, com a seguinte url

http://localhost:1234/

É isso por hoje, viu como é fácil criar uma rota com Go?

No próximo vamos falar sobre renderizar html usando Go, vamos criar um formulário html.

Para quem quiser saber mais sobre esse pacote clique aqui

--

--