Golang Rest API

Golang Rest API
W tym artykule zbadamy świat odpoczynku, tworząc prosty interfejs API REST w języku programowania Go.

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.