Golang HTTP -server

Golang HTTP -server
I GO kan vi opprette en HTTP -server ved hjelp av NET/HTTP -pakken. Denne pakken kommer med en mengde verktøy og funksjonaliteter for å implementere din egen HTTP -server.

I denne artikkelen vil vi diskutere hvordan du kan opprette en enkel HTTP -server i Go. Dette vil hjelpe deg å bli kjent med Net/HTTP -pakken.

Påkrevd import

For at vi skal opprette en HTTP -server i Go, må vi importere NET/HTTP -pakken. Det gir oss metoder for å implementere en HTTP -server med letthet.

Importer "nett/http"

Golang enkel HTTP -server

Det første trinnet når du oppretter en HTTP -server er å bestemme HTTP -endepunktene. For eksempel, hvis en klient får tilgang til ruten, http: // localhost: 8080/ekko, hva skal skje?

Vi gjør dette ved å lage en HTTP -behandlerfunksjon. Dette forteller serveren hvilken funksjon som skal utføres når en klient treffer det spesifiserte sluttpunktet.

Et eksempelkode er som vist nedenfor:

pakkehoved
Importer "nett/http"
func main ()
// definere http -behandler for /hei
http.HandleFunc ("/Hei", Sayhi)

Eksemplet over bruker HTTP.HandleFunc () for å spesifisere hvilken funksjon som skal kjøres når klienten treffer /hi endepunktet.

Neste trinn er å definere metoden Sayhi (). Denne funksjonen inneholder koden vi ønsker å kjøre når klienten får tilgang til /hei.

I vårt eksempel er det en enkel "hei" -melding. Vi kan gjøre dette som vist i koden nedenfor:

func sayhi (w http.ResponseWriter, R *http.Be om)
fmt.Fprintf (w, "Hei")

Funksjonen tar to argumenter:

  1. Forfatteren av typen http.ResponseWriter som lar deg sende data til HTTP -klienten.
  2. Leseren av typen http.Forespørsel som inneholder datastrukturen for HTTP -forespørselen fra klienten.

Funksjonen returnerer deretter en melding ved hjelp av FPRINTF -metoden.

Det siste trinnet er å starte lytteren. Vi gjør dette i hovedfunksjonen som vist i eksempelkoden nedenfor:

feil: = http.ListenandServe (": 8080", null)
Hvis feil != nil
Logg.Fatal (feil)
komme tilbake

Funksjonen serverer serveren i den spesifiserte portadressen. For eksempel, i koden over, kjører vi serveren på port 8080.

Nå bør du ha en HTTP -server som godtar forespørsel til et bestemt sluttpunkt og returnerer en melding.

Den fulle koden er som vist:

pakkehoved
import (
"FMT"
"Logg"
"Nett/http"
)
func main ()
// definere http -behandler for /hei
http.HandleFunc ("/Hei", Sayhi)
feil: = http.ListenandServe (": 8080", null)
Hvis feil != nil
Logg.Fatal (feil)
komme tilbake


func sayhi (w http.ResponseWriter, R *http.Be om)
fmt.Fprintf (w, "Hei")

Nå kan vi kjøre serveren som:

Gå Run Server.gå

Når webserveren kjører, åpner du HTTP -klienten (nettleseren) og navigerer til følgende endepunkt.

http: // localhost: 8080/hei

Serveren skal svare med en melding “Hei”

Konklusjon

Ved hjelp av denne guiden er du i stand til å bygge en HTTP -server ved hjelp av Go Net/HTTP -pakken. Utvid serveren over serveren ovenfor og sjekk dokumentasjonen for å lære mer.

Takk for at du leste!