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:
pakkehovedEksemplet 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)Funksjonen tar to argumenter:
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)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:
pakkehovedNå 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/heiServeren 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!