Golang Rest
Ze względu na prostotę utworzymy prosty serwer REST, który odbędzie żądanie do określonego punktu końcowego i zwraca listę produktów w formacie JSON.
Zacznij od utworzenia odpoczynku.Plik Go, który będzie zawierał kod dla interfejsu API:
dotknij odpoczynku.Iść
Obsługuj funkcję żądania HTTP
W pozostałych.Go Plik, zaimportuj wymagane pakiety:
import (
„FMT”
"dziennik"
„net/http”
)
Poprzedni kod importuje pakiet HTTP FMT, dziennika i netto do obsługi błędów, żądań I/O. Potrzebujemy pakietu kodowania/JSON w dalszej części kodu.
Na razie poprzedni import będzie działał.
Następnym krokiem jest utworzenie funkcji, która obsługuje żądanie do określonego punktu końcowego. Do testowania utworzymy punkt końcowy /."
Możemy to zrobić, definiując funkcję, która przyjmuje HTTP.ResponseWriter i HTTP.Wniosek.
Przykład kodu pokazano poniżej:
FUNC POWITCHAJ (W HTTP.ResponseWriter, r *http.Wniosek)
fmt.Fprintf (w, „Cześć, witaj w RESTful API.")
Funkcja zwraca komunikat użytkownikowi, gdy trafił określony punkt końcowy.
Teraz zdefiniujmy punkt końcowy dostępny na naszym serwerze i jaką funkcję wykonać, gdy klient trafi do tego punktu końcowego.
W głównej funkcji dodaj kod, jak pokazano poniżej:
func main ()
http.Hevingfunc („/wita”, powital) // Utwórz punkt końcowy
http.Słuchajandserve („: 8080”, zero) // słuchaj i serwuj
Poprzedni kod używa HTTP.Metoda frontfunc () i przyjmuje punkt końcowy i funkcję do wykonania jako parametry.
Metoda ListenandServe będzie słucha na określonym porcie, a następnie obsługuje wszystkie przychodzące żądania do serwera.
Następnie uruchom poprzedni kod, aby upewnić się, że wszystko działa poprawnie. Otwórz swoją przeglądarkę i dostęp, http: // localhost: 8080/Witamy
Powinno to zwrócić wiadomość zgodnie z definicją w naszym poprzednim kodzie.
Mając na sobie podstawy, możemy przystąpić do stworzenia bardziej interesującego interfejsu API. W następnej sekcji musisz zaimportować pakiet kodowania/JSON, aby zakodować dane JSON.
Stworzymy strukturę, która utrzymuje produkty w naszym zapasie. Przykład struktury podano poniżej:
Wpisz strukturę produktu
Id int 'json: „id”
Product_name String „JSON:„ Nazwa ”''
Cena int 'json: „cena”'
Instock Bool „JSON:„ Stock ”'
Następnie możemy zdefiniować typowy produkt produktu, który pomieści tablicę:
Produkty typu []
Następnym krokiem jest skonfigurowanie punktu końcowego w celu zwrócenia produktów w formacie JSON. W tym celu możemy zdefiniować prostą funkcję o nazwie GetProducts, jak pokazano:
Func GetProducts (w http.ResponseWriter, r *http.Wniosek)
produkty: = produkty
Produkt
ID: 1,
Nazwa_ produktu: „MacBook Pro”,
Cena: 5999,
Instock: True,
,
ID: 2,
Product_name: „Amazon Echo”,
Cena: 299,
Instock: False,
,
JSON.NewenCoder (W).ENCODE (produkty)
Poprzednia funkcja przyjmuje informacje o produktach i koduje.
Na koniec możemy dodać obsługę HTTP, gdy klient trafia do punktu końcowego /produkty w głównej funkcji:
http.Rejwa („/produkty”, getProducts)
I dzięki temu jesteśmy gotowi na API. Aby to przetestować, uruchom resztę.Idź plik i otwórz przeglądarkę na adres:
http: // localhost: 8080/produkty
Powinno to zwrócić informacje o JSON z informacjami o produkcie:
Wniosek
To kończy ten samouczek na temat konfigurowania prostego interfejsu API REST w Go. Chociaż jest to uproszczone, służy jako podstawa do budowania szybszych i bardziej złożonych interfejsów API. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i artykułów.