7 个版本
0.1.9 | 2020 年 5 月 30 日 |
---|---|
0.1.8 | 2020 年 5 月 30 日 |
0.1.5 | 2019 年 4 月 5 日 |
#2080 in 网页开发
41 每月下载量
用于 2 包
260KB
5K SLoC
i2cbus-api
i2cbus-api 是一个用于控制 I2C 总线的 HTTP RESTful API。此仓库包括
- 一个以 OpenAPI 格式 编写的 OpenAPI 格式 的 API 规范。
- Rust 的骨架客户端和服务器实现。
可以在 https://github.com/packom/i2cbus 找到针对 Linux 的完整功能服务器实现。
以下文本由 openapi-generator 自动生成。
Rust API for openapi_client
未提供描述(由 Openapi Generator 生成 https://github.com/openapitools/openapi-generator)
概述
此客户端/服务器由 [openapi-generator] (https://openapi-generator.tech) 项目生成。通过使用来自远程服务器的 OpenAPI-Spec,您可以轻松生成服务器存根。
要了解如何将其变为自己的,请查看这里
- API 版本:0.1.9
- 构建日期:2020-05-30T16:49:46.544233ZEtc/UTC
此自动生成项目定义了一个 API 包 openapi_client
,它包含
- 一个定义 Rust 中 API 的
Api
特质。 - 表示底层数据模型的数据类型。
- 一个实现
Api
并为每个操作发出 HTTP 请求的Client
类型。 - 一个路由器,它接受 HTTP 请求并为每个操作调用适当的
Api
方法。
它还包括一个示例服务器和客户端,它们使用了 openapi_client
- 示例服务器通过使用
openapi_client
路由器启动一个网络服务器,并提供了对每个操作返回失败的简单Api
实现。 - 示例客户端提供了一个 CLI,您可以通过在命令行中传递适当的参数来调用
openapi_client
客户端的任何单个操作。
您可以将示例服务器和客户端作为您自己的代码的基础。有关实现服务器的更多详细信息,请参见下面的 实现服务器。
示例
使用以下命令运行示例
cargo run --example <example-name>
要将参数传递给示例,请将它们放在 --
之后,例如
cargo run --example client -- --help
运行示例服务器
要运行服务器,请按照以下简单步骤操作
cargo run --example server
运行示例客户端
要运行客户端,请按照以下任一简单步骤操作
cargo run --example client I2cBusApi
cargo run --example client I2cBusList
cargo run --example client I2cBusReadByte
cargo run --example client I2cBusReadBytes
cargo run --example client I2cBusReadReg
cargo run --example client I2cBusWriteByte
cargo run --example client I2cBusWriteByteReg
HTTPS
可以通过传递 --https
标志以 HTTPS 模式运行示例,例如
cargo run --example server -- --https
这将从示例目录中使用的密钥/证书。请注意,服务器链是用 CN=localhost
签名的。
使用生成的库
生成的库有一些可以通过 Cargo 激活的可选功能。
服务器
- 默认启用并创建基于 hyper 的服务器实现的基本框架
- 要创建服务器堆栈,您需要提供一个实现 API 特性的实现,以提供服务器功能。
客户端
- 默认启用并创建基于 hyper 的客户端实现的基本框架
- 构建的客户端通过远程 API 调用实现 API 特性。
转换
- 默认禁用,并在模型上创建额外的 derive,以允许在结构相似的类型对象之间进行“转换”。
有关如何在 Cargo.toml
中使用功能的说明,请参阅 https://doc.rust-lang.net.cn/cargo/reference/manifest.html#the-features-section。
API 端点文档
所有 URI 都相对于 https://127.0.0.1
方法 | HTTP 请求 | 描述 |
---|---|---|
i2c_bus_api | GET /i2c/api | |
i2c_bus_list | GET /i2c/buslist | |
i2c_bus_read_byte | GET /i2c/{busId}/read/byte/{addr} | |
i2c_bus_read_bytes | GET /i2c/{busId}/read/bytes/{addr}/{numBytes} | |
i2c_bus_read_reg | GET /i2c/{busId}/read/reg/{addr}/{reg}/{numBytes} | |
i2c_bus_write_byte | POST /i2c/{busId}/write/byte/{addr}/{value} | |
i2c_bus_write_byte_reg | POST /i2c/{busId}/write/byte/reg/{addr}/{reg}/{value} | |
i2c_bus_write_bytes | POST /i2c/{busId}/write/bytes/{addr} | |
i2c_bus_write_bytes_reg | POST /i2c/{busId}/write/bytes/reg/{addr}/{reg} |
模型文档
- Addr
- BusId
- Error
- I2cBusArg
- I2cBusError
- I2cBusList
- I2cBusOk
- I2cBusRead
- I2cByte
- NumBytes
- Reg
- Value
- Values
- Yaml
授权文档
端点不需要授权。
作者
依赖关系
~13–25MB
~368K SLoC