Golang HTTP Server

Golang HTTP Server
Em Go, podemos criar um servidor HTTP usando o pacote NET/HTTP. Este pacote vem com uma infinidade de ferramentas e funcionalidades para implementar seu próprio servidor HTTP.

Neste artigo, discutiremos como você pode criar um servidor HTTP simples em Go. Isso ajudará você a se familiarizar com o pacote Net/HTTP.

Importações necessárias

Para criarmos um servidor HTTP em Go, precisaremos importar o pacote Net/HTTP. Ele nos fornece métodos para implementar um servidor HTTP com facilidade.

importar "net/http"

Golang simples servidor http

A primeira etapa ao criar um servidor HTTP é determinar os pontos de extremidade HTTP. Por exemplo, se um cliente acessar a rota, http: // localhost: 8080/eco, o que deve acontecer?

Fazemos isso criando uma função de manipulador HTTP. Isso informa ao servidor qual função executar quando um cliente atinge o terminal especificado.

Um código de exemplo é como mostrado abaixo:

Pacote principal
importar "net/http"
func main ()
// define o manipulador http para /oi
http.Handlefunc ("/oi", Sayhi)

O exemplo acima usa o http.Handlefunc () para especificar qual função executar quando o cliente atingir o /hi terminal.

O próximo passo é definir o método Sayhi (). Esta função contém o código que desejamos executar quando o cliente acessar /oi.

Em nosso exemplo, é uma mensagem simples de "olá". Podemos fazer isso como mostrado no código abaixo:

func sayhi (w http.ResponseWriter, r *http.Solicitar)
fmt.Fprintf (w, "oi")

A função leva dois argumentos:

  1. O escritor do tipo http.ResponseWriter que permite enviar dados para o cliente HTTP.
  2. O leitor do tipo http.Solicitar que mantém a estrutura de dados para a solicitação HTTP do cliente.

A função retorna uma mensagem usando o método fprintf.

A etapa final é iniciar o ouvinte. Fazemos isso na função principal, como mostrado no código de exemplo abaixo:

err: = http.ListenAndServe (": 8080", nulo)
se err != nil
registro.Fatal (ERR)
retornar

A função serve o servidor no endereço da porta especificado. Por exemplo, no código acima, executamos o servidor na porta 8080.

Até agora, você deve ter um servidor HTTP que aceite a solicitação para um terminal específico e retorna uma mensagem.

O código completo é como mostrado:

Pacote principal
importação (
"FMT"
"registro"
"net/http"
)
func main ()
// define o manipulador http para /oi
http.Handlefunc ("/oi", Sayhi)
err: = http.ListenAndServe (": 8080", nulo)
se err != nil
registro.Fatal (ERR)
retornar


func sayhi (w http.ResponseWriter, r *http.Solicitar)
fmt.Fprintf (w, "oi")

Agora, podemos executar o servidor como:

Go Run Server.ir

Com o servidor da web em execução, abra seu cliente HTTP (navegador) e navegue até o seguinte terminal.

http: // localhost: 8080/oi

O servidor deve responder com uma mensagem "oi"

Conclusão

Usando este guia, você está em posição de construir um servidor HTTP usando o pacote Go Net/HTTP. Sinta -se à vontade para expandir o servidor acima e verificar a documentação para saber mais.

Obrigado pela leitura!