Frage

Ich habe eine API in C#, die nicht Karte zu JSON-RPC-aufgrund der Tatsache, dass JSON-RPC wird Prozedural orientiert.Wie in der JSON-RPC-würden Sie repräsentieren eine objektorientierte API?
Ich kann natürlich die Verwendung der JSON-RPC-Erweiterungen, so dass die Anfrage würde wie folgt Aussehen:

{ "jsonrpc":"2.0", method:"ObjectName.Method", "params":[], "id": 1 }

Aber es fühlt sich ein bisschen hackish, und erfordert auch eine Menge Arbeit zu definieren.Kann ich auch als parameter aber wieder, es fühlt sich einfach nicht richtig.
Gibt es eine best practice im Bezug auf die Arbeit gegen eine objektorientierte API mit JSON-RPC?

War es hilfreich?

Lösung

JSON-RPC-JSON-Remote Verfahren Aufrufen und default-Verfahren orientiert.

Allerdings, wenn Sie Arbeit über HTTP können Sie sehen jedes RPC-Dienst als Objekt.I. e.wenn Sie Zugang /foo/bar und rufen Sie beep über JSON-RPC-über-HTTP-dann rufen Sie beep Methode foo service bar Objekt.

Ansonsten können Sie tun es so, wie alle OOP zugeordnet, über Prozeduraufrufe:

foo.bar(x1,x2) -> bar(foo,x1,x2) 

Wo foo "Zeiger" zum Objekt, die für die RPC kann es sein Objekt-UUID.(Das ist, wie es tatsächlich in einigen RPCS).

So rufen Sie

f=new integer(0);
f.add(10);
f.add(20);
x=f.get();
delete f;

Geht an:

client:   new("integer",0)
server:   return "23ab3cb45"
client:   add("23ab3cb45",10);
client:   add("23ab3cb45",20);
client:   get("23ab3cb45");
server:   return 30
client:   delete("23ab3cb45");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top