16个稳定版本 (3个主要版本)
3.4.1 | 2024年4月30日 |
---|---|
3.4.0 | 2024年1月27日 |
3.3.0 | 2023年12月27日 |
3.2.1 | 2023年8月21日 |
0.1.1 | 2021年11月29日 |
#36 in 缓存
每月下载量270次
130KB
1.5K SLoC
Rustemon
这个库是出色PokeAPI的包装器,它提供了所有关于宝可梦所需的信息!
完全用Rust编写,这个库涵盖了整个PokeApi REST api v2。
如何导入它?
在Cargo.toml的依赖项中添加以下内容
rustemon = "3.4.1"
如何使用它?
如你注意到的,在PokeApi文档中,每个端点和模型都是在组中声明的。
该库保留了这种面向组的架构!
功能
此crate提供了两个功能来启用不同的缓存机制
filesystem-cache
-> 存储在文件中的可配置缓存。in-memory-cache
-> 可配置的内存缓存。
filesystem-cache
默认启用。请注意,这些功能是互斥的!如果你想使用in-memory-cache
功能,可以按以下步骤进行
[dependencies]
rustemon = { version = "*", default-features = false, features = ["in-memory-cache"] }
模型
所有模型都位于以下模块中
rustemon::model
例如,如果你想获取位于pokemon
组中的Pokemon
类型,它位于这里
rustemon::model::pokemon::Pokemon
端点
端点遵循相同的命名规则,例如,如果你想从进化组调用进化链端点
rustemon::evolution::evolution_chain
对于每个端点,定义了4个函数
- get_page : 无参数,调用端点而不传递任何信息来检索端点的分页响应的第一页,如此处定义的
- get_page_with_param : 允许你修改分页查询的参数
- get_by_id : 使用目标资源的ID调用端点
- get_by_name : 使用目标资源的名称调用端点。
所有端点都是异步的!这意味着您需要添加一个异步运行时(例如tokio),以便库可以工作。
缓存
所有对API的调用都由附加到您需要实例化以调用PokeAPI的RustemonClient的中间件进行缓存。
示例
示例和使用案例可在examples
文件夹中找到。例如,您可以使用以下命令运行async_follow
示例
cargo run --example async_follow
许可证
库的许可证可以在这里找到。
贡献
如果您发现任何有价值的问题或改进,请在那里填写问题 -> 项目问题
依赖关系
~5–40MB
~600K SLoC