Odoo中Odoo RPC、Xml RPC、JSON RPC和REST API有什么区别?

4
我对 Odoo 领域中的 Odoo RPC、XML RPC、JSON RPC 和 REST API 的概念感到困惑。据我所知,这四个 API 是可以在 Odoo 中使用的唯一的 API。
在 Odoo 的文档中,只提到了 XML RPC 和 JSON RPC。但是在这个网站上:Odoo RPC ,他们讨论了 Odoorpc 库。第四个是 REST API,它如何适用于 Odoo?当我们创建一个带有特定路由的控制器时,它是否被称为 REST API?
1个回答

4

RPC和REST是调用API的不同方法。RPC使用起来比较困难,但更加强大;REST则更易于使用,但功能相对较弱。

Odoo只有一个API:RPC。Odoo没有REST API。

您可以通过XML-RPC或JSON-RPC调用Odoo的RPC,但API是相同的。只需使用最适合您其他系统的格式。如果您不介意,可以选择使用odoo本身使用的JSON-RPC。

您提供的文档是非官方的,odoorpc库是另一个非官方库,可使与odoo API的交互更加舒适。这是官方文档:https://www.odoo.com/documentation/14.0/webservices/odoo.html


但是Odoorpc使用"odoorpc"库(您可以在上面给出的链接中看到),而xmlrpc和jsonrpc使用自己的库进行功能。 xmlrpc使用"xmlrpc.client",而jsonrpc使用"urllib.request"库。此外,您已经提到Odoo没有REST API,但@Paxmees在他的答案中提到External API也是REST API。! - Hussam Cheema
感谢@Yajo提供的答案。官方文档没有提到JSON-RPC。您确定它得到了同等支持吗? - Stefan
是的,正如所说,这是Odoo Web客户端使用的一个。请参见https://github.com/odoo/odoo/blob/f02622684c6a220a425044d8d4a5fd474efdb519/addons/web/static/src/core/network/rpc_service.js#L41-L96。 - Yajo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接