Servidor Golang HTTP

Servidor Golang HTTP
En Go, podemos crear un servidor HTTP utilizando el paquete Net/HTTP. Este paquete viene con una gran cantidad de herramientas y funcionalidades para implementar su propio servidor HTTP.

En este artículo, discutiremos cómo puede crear un servidor HTTP simple en GO. Esto lo ayudará a familiarizarse con el paquete NET/HTTP.

Importaciones requeridas

Para que creemos un servidor HTTP en GO, necesitaremos importar el paquete NET/HTTP. Nos proporciona métodos para implementar un servidor HTTP con facilidad.

importar "net/http"

Servidor HTTP simple de Golang

El primer paso al crear un servidor HTTP es determinar los puntos finales HTTP. Por ejemplo, si un cliente accede a la ruta, http: // localhost: 8080/eco, lo que debería suceder?

Hacemos esto creando una función de controlador HTTP. Esto le dice al servidor qué función ejecutar cuando un cliente presenta el punto final especificado.

Un código de ejemplo es como se muestra a continuación:

paquete principal
importar "net/http"
func Main ()
// Defina el controlador HTTP para /hola
http.HandleFunc ("/HI", Sayhi)

El ejemplo anterior usa el HTTP.HandleFunc () para especificar qué función se ejecutará cuando el cliente presenta el punto final /HI.

El siguiente paso es definir el método sayhi (). Esta función contiene el código que deseamos ejecutar cuando el cliente accede /hola.

En nuestro ejemplo, es un simple mensaje de "hola". Podemos hacer esto como se muestra en el siguiente código:

Func Sayhi (w http.Responsewriter, r *http.Pedido)
fmt.Fprintf (w, "hola")

La función toma dos argumentos:

  1. El escritor de tipo http.ResponseWriter que le permite enviar datos al cliente HTTP.
  2. El lector de tipo http.Solicitud que contiene la estructura de datos para la solicitud HTTP del cliente.

La función luego devuelve un mensaje usando el método FPRINTF.

El paso final es comenzar al oyente. Hacemos esto en la función principal como se muestra en el código de ejemplo a continuación:

err: = http.Listenandserve (": 8080", nulo)
Si err != nulo
registro.Fatal (err)
devolver

La función sirve al servidor en la dirección del puerto especificada. Por ejemplo, en el código anterior, ejecutamos el servidor en el puerto 8080.

Por ahora, debe tener un servidor HTTP que acepte una solicitud a un punto final específico y devuelva un mensaje.

El código completo es como se muestra:

paquete principal
importar (
"FMT"
"registro"
"net/http"
)
func Main ()
// Defina el controlador HTTP para /hola
http.HandleFunc ("/HI", Sayhi)
err: = http.Listenandserve (": 8080", nulo)
Si err != nulo
registro.Fatal (err)
devolver


Func Sayhi (w http.Responsewriter, r *http.Pedido)
fmt.Fprintf (w, "hola")

Ahora, podemos ejecutar el servidor como:

Ir a ejecutar servidor.ir

Con el servidor web en ejecución, abra su cliente HTTP (navegador) y navegue al siguiente punto final.

http: // localhost: 8080/hola

El servidor debe responder con un mensaje "Hola"

Conclusión

Usando esta guía, está en condiciones de construir un servidor HTTP utilizando el paquete GO NET/HTTP. Siéntase libre de expandir el servidor anterior y verificar la documentación para obtener más información.

Gracias por leer!