Golang HTTP Server

Golang HTTP Server
W Go możemy utworzyć serwer HTTP za pomocą pakietu NET/HTTP. Ten pakiet jest wyposażony w mnóstwo narzędzi i funkcji w celu wdrożenia własnego serwera HTTP.

W tym artykule omówimy, w jaki sposób możesz utworzyć prosty serwer HTTP w Go. Pomoże ci to zapoznać się z pakietem netto/http.

Wymagane import

Aby utworzyć serwer HTTP w Go, będziemy musieli zaimportować pakiet netto/http. Zapewnia nam metody wdrażania serwera HTTP.

importować „net/http”

Golang prosty serwer HTTP

Pierwszym krokiem podczas tworzenia serwera HTTP jest określenie punktów końcowych HTTP. Na przykład, jeśli klient uzyska dostęp do trasy, http: // localhost: 8080/echo, co powinno się stać?

Robimy to, tworząc funkcję obsługi HTTP. To informuje serwer, jaką funkcję wykonać, gdy klient trafia w określony punkt końcowy.

Przykładowy kod jest pokazany poniżej:

Pakiet Main
importować „net/http”
func main ()
// Zdefiniuj obsługę HTTP dla /hi
http.Rejfinc („/hi”, sayhi)

Powyższy przykład używa HTTP.Uchwyt (), aby określić, która funkcja należy uruchomić, gdy klient trafi do punktu końcowego /hi.

Następnym krokiem jest zdefiniowanie metody sayhi (). Ta funkcja zawiera kod, który chcemy uruchomić, gdy klient uzyskuje dostęp do /hi.

W naszym przykładzie jest to prosta wiadomość „cześć”. Możemy to zrobić, jak pokazano w poniższym kodzie:

func sayhi (w http.ResponseWriter, r *http.Wniosek)
fmt.Fprintf (w, „hi”)

Funkcja przyjmuje dwa argumenty:

  1. Pisarz typu http.ResponseWriter, który umożliwia wysyłanie danych do klienta HTTP.
  2. Czytnik typu http.Żądanie, które zawiera strukturę danych dla żądania HTTP od klienta.

Następnie funkcja zwraca wiadomość za pomocą metody FPRINTF.

Ostatnim krokiem jest uruchomienie słuchacza. Robimy to w głównej funkcji, jak pokazano w poniższym przykładzie:

err: = http.ListenandServe („: 8080”, zero)
Jeśli err != zero
dziennik.Fatalny (err)
powrót

Funkcja obsługuje serwer w określonym adresie portu. Na przykład w powyższym kodzie uruchamiamy serwer w porcie 8080.

Do tej pory powinieneś mieć serwer HTTP, który akceptuje żądanie do określonego punktu końcowego i zwraca wiadomość.

Pełny kod jest tak, jak pokazano:

Pakiet Main
import (
„FMT”
"dziennik"
„net/http”
)
func main ()
// Zdefiniuj obsługę HTTP dla /hi
http.Rejfinc („/hi”, sayhi)
err: = http.ListenandServe („: 8080”, zero)
Jeśli err != zero
dziennik.Fatalny (err)
powrót


func sayhi (w http.ResponseWriter, r *http.Wniosek)
fmt.Fprintf (w, „hi”)

Teraz możemy uruchomić serwer jako:

Go Uruchom serwer.Iść

Po uruchomieniu serwera WWW otwórz klienta HTTP (przeglądarka) i przejdź do następującego punktu końcowego.

http: // localhost: 8080/hi

Serwer powinien odpowiedzieć komunikatem „Cześć”

Wniosek

Korzystając z tego przewodnika, jesteś w stanie budować serwer HTTP za pomocą pakietu Go Net/HTTP. Rozwiń powyższy serwer i sprawdź dokumentację, aby dowiedzieć się więcej.

Dziękuje za przeczytanie!