JSON von JavaScript-Frontend an Rust-Backend schicken und lesen/speichern?

1 Antwort

Erfahrung mit Rust habe ich auch keine, aber dafür Erfahrung mit Backend.

Für die Kommunikation zwischen Frontend und Backend bietet sich eine REST API an. Auf der Frontend Seite wird es einfach sein. HTTP Requests mit JSON als Request Body lassen sich dort leicht umsetzen.

Beim Backend benötigst du einmal einen Webserver, womit du HTTP Requests entgegen nehmen kannst. Dazu ist eine JSON Library vom Vorteil.

Rocket scheint dabei eine Library für den Webserver und JSON Parser zu sein, welche du nehmen könntest.

Da du die genaue Datenstruktur nicht nennst, kann ich hier etwas weniger helfen.

Im Allgemeinen bietet sich u.A. ein Endpunkt an, der die komplette Liste zurück gibt. Hier solltest du die HTTP GET Methode benutzen. Als Antwort gibt es dann eine Liste von Objekten im JSON Format.

Je nach Datenstruktur könnte ein getById Enpunkt sinnvoll sein. Auch hier wieder ein GET mit z.B. der Id als Pfad Variable oder in der Query. Hier gibt es ein Objekt als JSON zurück.

Zum Hinzufügen eines Objektes solltest du ein HTTP POST Endpunkt anlegen. Im Request Body kannst du ein Objekt als JSON mitschicken, welches dann im Server der Liste angefügt wird.

Je nach Wunsch und Anforderung könnte es noch ein PUT Endpunkt zum setzen/überschreiben von Daten und ein DELETE Enpunkt zum Löschen von Daten geben.

Jeder Enpunk mit gleicher HTTP Methode benötigt einen individuellen Pfad. Sofern sich die Methode unterscheidet, kann der Pfad mehrfach belegt sein.

Falls du deine REST API dokumentieren möchtest, könntest du dafür die OpenAPI Specificafion nutzen. Die vorherige Version hieß Swagger.

Die Definition legst du in Form einer YAML oder auch JSON Datei an. Ais dieser Datei kannst du eine UI im Web als Client anlegen lassen. Dazu lässt sich auch der Server Code für z.B. Rust anlegen lassen.