JSON-RPCでオブジェクト指向APIにアプローチする方法は?

StackOverflow https://stackoverflow.com/questions/4234753

  •  26-09-2019
  •  | 
  •  

質問

JSON-RPCが手続き志向であるという事実により、JSON-RPCにマッピングされないC#にAPIがあります。 JSON-RPCでオブジェクト指向APIをどのように表しますか?
もちろん、JSON-RPC拡張機能を使用して、リクエストが次のようになるようにすることができます。

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

しかし、それはちょっとハッキッシュであると感じており、定義するために多くの作業も必要です。パラメーターとして含めることもできますが、繰り返しますが正しいとは感じません。
JSON-RPCを使用して、オブジェクト指向APIに反対する作業に関するベストプラクティスはありますか?

役に立ちましたか?

解決

JSON-RPCはJSONリモートです 手順 呼び出しとデフォルトの手順指向。

ただし、HTTPで作業すると、各RPCサービスをオブジェクトとして確認できます。 IEにアクセスした場合 /foo/bar そして電話してください beep HTTPを介してJSON-RPCを介して電話をかけます beep の方法 foo のサービス bar 物体。

それ以外の場合は、すべてのOOPが手順呼び出しをマッピングした方法で行うことができます。

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

fooはオブジェクトする「ポインター」であり、RPCの場合、それはオブジェクトuuidである可能性があります。 (それが実際にいくつかのRPCで行われる方法です)。

だからあなたは電話します

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

に行く:

client:   new("integer",0)
server:   return "23ab3cb45"
client:   add("23ab3cb45",10);
client:   add("23ab3cb45",20);
client:   get("23ab3cb45");
server:   return 30
client:   delete("23ab3cb45");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top