Was ist JSON-RPC

Nachdem wir uns nun mit der Struktur von JSON-Objekten auskennen, wollen wir den nächsten Schritt gehen und JSON für die Kommunikation zwischen einem Server und einem Client nutzen.Neben simplen JSON-Requests gibt es ein Protokoll, das uns über JSON den Aufruf von Funktionen auf entfernten Computern ermöglicht: JSON-RPC (JavaScript Object Notation Remote Procedure Call). Wie sieht ein JSON-Request aus? JSON-Requests können ganz einfach, z.B. über http-requests realisiert werden.Optimalerweise bieten sich POST- oder GET-Anfragen besonders an, da ihnen ein JSON-Objekt problemlos als Payload mitgegeben werden kann. Ein Request über http setzt sich also wie folgt zusammen: HTTP-Request-ArtPOST oder GETHeaderContent-Type: application/json (Der Header sorgt dafür, dass der Empfänger weiß, dass es sich beim Payload um ein JSON-Objekt handelt und es entsprechend verarbeitet)PayloadEin JSON-Objekt Ein Beispiel auf der Konsole könnte wie folgt aussehen: curl -X POST http://example.com/some/path -H "Content-Type: application/json" -d '{"version": "1.1", "method":"progr","id":2,"params":{"call":...} }' curl ist ein Kommandozeilen-Tool, mit dem URL-Transfers initiiert werden können (bzw. URLs aufgerufen werden können).Der Parameter -X definiert hierbei, dass die darauf folgende URL als POST Request abgesetzt wird. Darauf folgt die aufzurufende URL und mit dem -H Parameter, dem der Header folgt. Der -d Parameter steht für data, hier wird der Payload für den POST-Request definiert. In diesem Fall ein JSON-Objekt. Was ist JSON-RPC? JSON-RPC ist ein Protokoll, das den Aufruf von Methoden auf entfernten Computern ermöglicht. Es wird also z.B. von einem Client eine http-Anfrage an einen Server geschickt (mit dem Payload eines JSON-Objekts), der zu dieser spezifischen Anfrage eine Funktion ausführt.JSON-RPC definiert mehrere mögliche Arten von Anfragen, die wichtigsten sind: Request: Eine Anfrage, auf die der Server eine Antwort liefern sollEine Notification: Auf diese Anfrage wird keine Antwort vom Server verlangt Wie JSON-RPC funktioniert: Beispiele! Anfrage:{ jsonrpc: 2.0, method: GibStringAus, params: [Hello World], id: 1} Ein JSON-RPC-Objekt zu einer Anfrage (Request) muss demnach folgende Bestandteile haben: Die entfernte Methode, die aufgerufen werden soll BestandteilErklärungIm Beispieljson-rpcDefinition der JSON-RPC Version2.0method GibStringAusparamsParameter, die der Funktion übergeben werden sollenHello WorldidEine eindeutige ID, damit Requests und Responses zugeordnet werden können1 Antwort:{ jsonrpc: 2.0, result: Hello World, id: 1} Ein JSON-RPC-Objekt zu einer Antwort (Response)muss demnach folgende Bestandteile haben: BestandteilErklärungIm Beispieljson-rpcDefinition der JSON-RPC Version2.0resultDer Rückgabewert der entfernten FunktionHello WorlderrorFalls ein Fehler aufgetreten ist, wir ein Fehlerobjekt zurück gegeben idEine eindeutige ID, damit Requests und Responses zugeordnet werden können1 Wo kann ich JSON-RPC verwenden? Es finden sich Implementationen/Libraries für alle gängigen Programmiersprachen. Von JavaScript über C/C++/C#, Java, Python und PHP ist alles vertreten. Viel Spaß beim Entwickeln Der Beitrag Was ist JSON-RPC erschien zuerst auf IT-Talents.de.

zum Artikel gehen

Fachveröffentlichung: Kolumne: .NETversum: JSON-Polymorphismus mit System.Text.Jso

Seit der Version 7.0 des JSON-Serializers System.Text.Json kann man mit per Annotation [JsonDerivedType] Typ-Diskriminatoren fr das Serialisieren und Deserialisieren festlegen.

zum Artikel gehen

Was ist JSON?

JavaScript Object Notation (JSON) mit Beispielen und Verwendung Ist JSON [ˈdʒeɪsən] ein bekannter Informatiker, der ein kompaktes Datenformat entwickelt hat, das gut lesbar ist und einen einfachen und schnellen Datenaustausch zwischen Anwendungen ermög

zum Artikel gehen

Schulung: Moderne Webservices/Anwendungskopplung/Verteilte Systeme mit WebAPIs (HTTP-APIs/REST/Microservices)

Klrung der Begriffe - Web-API - HTTP-API - Representational State Transfer (REST) - Microservices - optional: Vergleich mit SOA/SOAP Standardisierung - Was ist Standard bei REST? - Andere Protokolle Einsatzgebiete von WebAPIs - Verteilte Sys

zum Artikel gehen

Die theme.json Datei erklärt

Im ersten Teil meiner Block-Themes Serie habe ich eine erste Einführung ins Thema Block-Themes gegeben. Heute will ich näher auf in die theme.json Datei eingehen, die es seit WordPress 5.8 gibt. Diese scheinbar unscheinbare Datei verändert die Art und Wei

zum Artikel gehen

Veranstaltung: Entity Framework Core für PostgreSQL

PostgreSQL existiert als Open-Source-Datenbanksystem seit ber 30 Jahren und ist bekannt fr seine Stabilitt und Performance. Fr .NET Core existiert ein robuster Treiber fr Entity Framework Core, der der Datenbank in Stabilitt und Performance in nichts nach

zum Artikel gehen