json rpc和json api之间的区别是什么?

json rpc和json api之间的区别是什么?,json,json-rpc,json-api,Json,Json Rpc,Json Api,有人能解释一下使用json rpc优于json api的优势吗?第一种和第二种格式是基于JSON的,但我应该在哪里使用一种格式,在哪里使用另一种格式?注意:我可能会遇到一些偏见。我是t服务器库的作者 Json RPC是一种远程过程调用规范。有多个库可用于使用该协议进行通信。它不是基于REST的,并且与传输无关。您可以通过HTTP运行它,这是非常常见的,您也可以通过套接字或任何其他合适的传输来使用它。因此,它在这方面相当灵活。您还可以通过在客户端或服务器上托管RPC服务器来执行服务器到客户端以及客

有人能解释一下使用json rpc优于json api的优势吗?第一种和第二种格式是基于JSON的,但我应该在哪里使用一种格式,在哪里使用另一种格式?

注意:我可能会遇到一些偏见。我是t服务器库的作者

Json RPC是一种远程过程调用规范。有多个库可用于使用该协议进行通信。它不是基于REST的,并且与传输无关。您可以通过HTTP运行它,这是非常常见的,您也可以通过套接字或任何其他合适的传输来使用它。因此,它在这方面相当灵活。您还可以通过在客户端或服务器上托管RPC服务器来执行服务器到客户端以及客户端到服务器的请求

Json API是构建REST API的规范。您可以使用多个库开始使用它。与Json Rpc不同,它要求您将其托管在HTTP服务器上。不能使用它在客户端上调用函数。您不能通过非http传输协议运行它。由于基于REST,它擅长提供有关资源的信息。如果您想要一个基于创建、读取、更新、删除某些资源集合的API,那么这可能是一个不错的选择

如果您的API是基于资源的,并且您希望您的API可以由人工浏览,而无需为其设置文档,那么Json API将会更好。尽管那个人可能需要在软件工程领域才能理解它

如果您的API是基于函数的,或者您希望它提供的灵活性,那么Json RPC将会更好。Json RPC仍然可以通过为您的资源创建创建、读取、更新和删除函数来操作资源,但如果它不是基于REST的,则无法获得可浏览性。通过根据您公开的函数生成文档,用户仍然可以对其进行探索(而不是浏览)

使用Json Rpc的一个流行示例是比特币

有很多流行的基于REST的API,Json API是一个规范,它包含了一系列工具来帮助您正确地执行REST

--

<>注释:<强>当您考虑开发人员的时间、性能或有效使用网络资源时,那些(JSON RPC或JSONAPI)都不好。< /强>

如果您关心性能、效率或开发人员时间,那么可以看看Google,它在这些方面非常出色,而且仍然可以比使用RESTAPI减少开发人员时间更多,因为客户端和服务器代码可以从协议定义文件生成