gpt4 book ai didi

json-rpc - 如何使用 JSON-RPC 处理面向对象的 API?

转载 作者:行者123 更新时间:2023-12-04 13:04:48 31 4
gpt4 key购买 nike

由于 JSON-RPC 是面向过程的,因此我在 C# 中有一个 API 不会映射到 JSON-RPC。您将如何在 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 并通过 HTTP 上的 JSON-RPC 调用 beep 那么您调用 foobeep 方法> bar 对象的服务。

否则,您可以按照所有 OOP 映射到过程调用的方式进行操作:

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

其中 foo 是指向对象的“指针”,对于 RPC,它可能是对象 UUID。 (这就是在某些 RPCS 中实际完成的方式)。

所以你打电话

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");

关于json-rpc - 如何使用 JSON-RPC 处理面向对象的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4234753/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com