10 个版本
0.2.5 | 2023年2月24日 |
---|---|
0.2.4 | 2023年1月16日 |
0.1.4 | 2022年12月24日 |
#608 in Web 编程
230KB
4.5K SLoC
odoo-api
odoo_api
odoo_api
包提供对 Odoo JSON-RPC API 的类型安全且全面实现的包,包括 ORM 和 Web 方法。它支持会话管理、多数据库、异步和阻塞调用,通过 reqwest
库实现,并支持自定义请求。
API 方法
支持的所有 API 方法列表,请参阅 odoo_api::service
。
自定义请求
默认情况下,odoo_api
使用 reqwest
作为其 HTTP 实现。也可以提供自己的 HTTP 实现(更多信息请参阅 OdooClient
)。
示例
要使用默认的 reqwest
实现,请将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
odoo_api = "0.2"
然后发出请求
use odoo_api::{OdooClient, jvec, jmap};
// build the client and authenticate
let url = "https://demo.odoo.com";
let client = OdooClient::new_reqwest_async(url)?
.authenticate(
"some-database",
"admin",
"password",
).await?;
// fetch a list of users
let users = client.execute(
"res.users",
"search",
jvec![]
).send().await?;
// fetch the login and partner_id fields from user id=1
let info = client.execute_kw(
"res.users",
"read",
jvec![[1]],
jmap!{
"fields": ["login", "partner_id"]
}
).send().await?;
// fetch a list of databases
let databases = client.db_list(false).send().await?;
// fetch server version info
let version_info = client.common_version().send().await?;
依赖项
~2–16MB
~192K SLoC