Serveur Golang HTTP

Serveur Golang HTTP
Dans Go, nous pouvons créer un serveur HTTP à l'aide du package Net / HTTP. Ce package est livré avec une pléthore d'outils et de fonctionnalités pour implémenter votre propre serveur HTTP.

Dans cet article, nous discuterons de la façon dont vous pouvez créer un simple serveur HTTP dans Go. Cela vous aidera à vous familiariser avec le package net / http.

Importations requises

Pour que nous créiez un serveur HTTP en Go, nous devrons importer le package net / http. Il nous fournit des méthodes pour implémenter facilement un serveur HTTP.

importer "net / http"

Serveur HTTP simple Golang Simple

La première étape lors de la création d'un serveur HTTP consiste à déterminer les points de terminaison HTTP. Par exemple, si un client accède à l'itinéraire, http: // localhost: 8080 / echo, ce qui devrait arriver?

Nous le faisons en créant une fonction HTTP Handler. Cela indique au serveur quelle fonction exécuter lorsqu'un client atteint le point de terminaison spécifié.

Un exemple de code est comme indiqué ci-dessous:

package principal
importer "net / http"
func main ()
// définir le gestionnaire http pour / hi
http.Handlefunc ("/ hi", sayhi)

L'exemple ci-dessus utilise le HTTP.Handlefunc () pour spécifier la fonction à exécuter lorsque le client atteint le point de terminaison / hi.

L'étape suivante consiste à définir la méthode sayhi (). Cette fonction contient le code que nous souhaitons exécuter lorsque le client accède / HI.

Dans notre exemple, c'est un simple message «bonjour». Nous pouvons le faire comme indiqué dans le code ci-dessous:

func sayhi (w http.Réponsewriter, r * http.Demande)
fmt.Fprintf (w, "hi")

La fonction prend deux arguments:

  1. L'auteur de type http.ResponseWriter qui vous permet d'envoyer des données au client HTTP.
  2. Le lecteur de type http.Demande qui contient la structure de données de la demande HTTP du client.

La fonction renvoie ensuite un message en utilisant la méthode fprintf.

La dernière étape consiste à démarrer l'auditeur. Nous le faisons dans la fonction principale comme indiqué dans l'exemple de code ci-dessous:

err: = http.ÉcouterAndserve (": 8080", nil)
Si err != nil
enregistrer.Fatal (euh)
retour

La fonction sert le serveur dans l'adresse du port spécifiée. Par exemple, dans le code ci-dessus, nous exécutons le serveur sur le port 8080.

À présent, vous devriez avoir un serveur HTTP qui accepte la demande à un point de terminaison spécifique et renvoie un message.

Le code complet est comme indiqué:

package principal
importer (
"FMT"
"enregistrer"
"net / http"
)
func main ()
// définir le gestionnaire http pour / hi
http.Handlefunc ("/ hi", sayhi)
err: = http.ÉcouterAndserve (": 8080", nil)
Si err != nil
enregistrer.Fatal (euh)
retour


func sayhi (w http.Réponsewriter, r * http.Demande)
fmt.Fprintf (w, "hi")

Maintenant, nous pouvons exécuter le serveur comme:

aller exécuter le serveur.aller

Avec le serveur Web en cours d'exécution, ouvrez votre client HTTP (navigateur) et accédez au point de terminaison suivant.

http: // localhost: 8080 / hi

Le serveur doit répondre par un message «Salut»

Conclusion

En utilisant ce guide, vous êtes en mesure de créer un serveur HTTP à l'aide du package Go Net / HTTP. N'hésitez pas à développer le serveur ci-dessus et à vérifier la documentation pour en savoir plus.

Merci d'avoir lu!