Golang Restapi

Golang Restapi
In diesem Artikel werden wir die Welt der Ruhe untersuchen, indem wir eine einfache REST -API in der Go -Programmiersprache erstellen.

Golang Ruhe

Aussofern erstellen wir einen einfachen Rastserver, der eine Anfrage an einen bestimmten Endpunkt erhält und die Liste der Produkte im JSON -Format zurückgibt.

Beginnen Sie mit der Erstellung einer Pause.GO -Datei, die den Code für die API enthält:

Berühren Sie Ruhe.gehen

Behandeln Sie die HTTP -Anforderungsfunktion um

Im Rest.GO -Datei, importieren Sie die erforderlichen Pakete:

importieren (
"fmt"
"Protokoll"
"net/http"
)

Der vorherige Code importiert das FMT-, Protokoll- und NET -HTTP -Paket, um Fehler, E/A- und HTTP. Wir werden später im Code das Coding/JSON -Paket benötigen.

Im Moment funktionieren die vorherigen Importe.

Der nächste Schritt besteht darin, eine Funktion zu erstellen, die die Anforderung an einen bestimmten Endpunkt verwaltet. Zum Testen werden wir einen /willkommenen Endpunkt erstellen, der die Nachricht zurückgibt.”

Wir können dies tun, indem wir eine Funktion definieren, die HTTP erfordert.Antwortschreiber und HTTP.Anfrage.

Ein Codebeispiel ist unten angezeigt:

func willkommen (w http.Antwortschreiber, r *http.Anfrage)
fmt.Fprintf (W, "Hallo, Willkommen bei Rastful APIs."))

Die Funktion gibt die Nachricht dem Benutzer zurück, wenn der angegebene Endpunkt getroffen wird.

Lassen Sie uns nun den auf unserem Server verfügbaren Endpunkt definieren und welche Funktion Sie ausführen müssen, wenn der Client diesen Endpunkt trifft.

Fügen Sie in der Hauptfunktion den Code wie unten gezeigt hinzu:

func main ()
http.Handlefunc ("/Welcome", Willkommen) // Endpunkt erstellen
http.Hörenserve („: 8080“, Nil) // Hören und servieren

Der vorherige Code verwendet den HTTP.Handlefunc () -Methode und nimmt den Endpunkt und die Funktion zur Ausführung als die Parameter aus.

Die Hörenservet -Methode hört auf den angegebenen Port an und behandelt dann alle eingehenden Anforderungen an den Server.

Führen Sie als nächstes den vorherigen Code aus, um sicherzustellen, dass alles richtig funktioniert. Öffnen Sie Ihren Browser und Zugriff, http: // localhost: 8080/willkommen

Dies sollte die Nachricht wie in unserem vorherigen Code definiert zurückgeben.

Mit den Grundlagen aus dem Weg können wir eine interessantere API erstellen. Für den nächsten Abschnitt müssen Sie das Coding/JSON -Paket importieren, um die JSON -Daten zu codieren.

Wir werden eine Struktur schaffen, die die Produkte in unserem Bestand hält. Ein Strukturbeispiel wird unten angegeben:

Geben Sie Produktstrukturen ein
ID int 'json: "id"' '
Product_name String 'JSON: "Name"'
Preis int 'JSON: "Preis"'
Instock bool 'JSON: "Stock"'

Als nächstes können wir ein Typenprodukt vom Typ Produkt definieren, das ein Array enthält:

Type Type [] Produkt eingeben

Der nächste Schritt besteht darin, einen Endpunkt für die Rückgabe der Produkte im JSON -Format einzurichten. Dafür können wir eine einfache Funktion namens GetProducts wie gezeigt definieren:

Func GetProducts (W HTTP.Antwortschreiber, r *http.Anfrage)
Produkte: = Produkte
Produkt
ID: 1,
Product_name: "MacBook Pro",
Preis: 5999,
ONDOCK: Richtig,
,

ID: 2,
Product_name: "Amazon Echo",
Preis: 299,
Instock: Falsch,
,

JSON.NewCoder (W).Codieren (Produkte)

Die vorherige Funktion übernimmt die Produktinformationen und codiert sie.

Schließlich können wir einen HTTP -Handler hinzufügen, wenn der Kunde in der Hauptfunktion den Endpunkt /Produkte trifft:

http.Handlefunc ("/produkte", GetProducts)

Und damit haben wir unsere API bereit zu gehen. Um es zu testen, führen Sie den Rest aus.Gehen Sie Datei und öffnen Sie Ihren Browser an der Adresse:

http: // localhost: 8080/Produkte

Dies sollte JSON -Informationen mit den Produktinformationen zurückgeben:

Abschluss

Dies schließt dieses Tutorial zum Einrichten einer einfachen REST -API in Go. Obwohl simpel, dient es als Grundlage für den Aufbau schneller und komplexerer APIs. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Artikel finden Sie in anderen Linux -Hinweisartikeln.