Server Golang HTTP

Server Golang HTTP
In GO, possiamo creare un server HTTP utilizzando il pacchetto Net/HTTP. Questo pacchetto viene fornito con una pletora di strumenti e funzionalità per implementare il tuo server HTTP.

In questo articolo, discuteremo di come puoi creare un semplice server HTTP in GO. Questo ti aiuterà a familiarizzare con il pacchetto net/http.

Importazioni richieste

Per noi per creare un server HTTP in GO, dovremo importare il pacchetto net/http. Ci fornisce metodi per implementare facilmente un server HTTP.

Importa "net/http"

Golang Simple HTTP Server

Il primo passo durante la creazione di un server HTTP è determinare gli endpoint HTTP. Ad esempio, se un client accede al percorso, http: // localhost: 8080/echo, cosa dovrebbe accadere?

Lo facciamo creando una funzione HTTP Handler. Questo dice al server quale funzione eseguire quando un client colpisce l'endpoint specificato.

Un codice di esempio è come mostrato di seguito:

Pacchetto principale
Importa "net/http"
func main ()
// Definisci il gestore HTTP per /ciao
http.Handlefunc ("/hi", Sayhi)

L'esempio sopra utilizza HTTP.Maneggevolefunc () per specificare quale funzione eseguire quando il client colpisce l'endpoint /hi.

Il prossimo passo è definire il metodo Sayhi (). Questa funzione contiene il codice che desideriamo eseguire quando il client accede /HI.

Nel nostro esempio, è un semplice messaggio "ciao". Possiamo farlo come mostrato nel codice seguente:

func sayhi (w http.Responsewriter, r *http.Richiesta)
fmt.Fprintf (W, "HI")

La funzione prende due argomenti:

  1. Lo scrittore di tipo http.ASPRESSAGGITER che consente di inviare dati al client HTTP.
  2. Il lettore di tipo http.Richiesta che detiene la struttura dei dati per la richiesta HTTP dal client.

La funzione restituisce quindi un messaggio utilizzando il metodo fprintf.

L'ultimo passo è iniziare l'ascoltatore. Lo facciamo nella funzione principale come mostrato nel codice di esempio seguente:

err: = http.Ascoltandserve (": 8080", zero)
Se err != nil
tronco d'albero.Fatale (err)
ritorno

La funzione serve il server nell'indirizzo della porta specificata. Ad esempio, nel codice sopra, eseguiamo il server sulla porta 8080.

Ormai, dovresti avere un server HTTP che accetta la richiesta a un endpoint specifico e restituisce un messaggio.

Il codice completo è come mostrato:

Pacchetto principale
importazione (
"FMT"
"tronco d'albero"
"net/http"
)
func main ()
// Definisci il gestore HTTP per /ciao
http.Handlefunc ("/hi", Sayhi)
err: = http.Ascoltandserve (": 8080", zero)
Se err != nil
tronco d'albero.Fatale (err)
ritorno


func sayhi (w http.Responsewriter, r *http.Richiesta)
fmt.Fprintf (W, "HI")

Ora possiamo eseguire il server come:

Vai a eseguire il server.andare

Con il server Web in esecuzione, apri il tuo client HTTP (browser) e vai all'endpoint seguente.

http: // localhost: 8080/hi

Il server dovrebbe rispondere con un messaggio "ciao"

Conclusione

Utilizzando questa guida, sei in grado di creare un server HTTP utilizzando il pacchetto GO Net/HTTP. Sentiti libero di espandere il server sopra e controllare la documentazione per saperne di più.

Grazie per aver letto!