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 缓存

Download history 10/week @ 2024-04-21 142/week @ 2024-04-28 7/week @ 2024-05-05 7/week @ 2024-05-12 25/week @ 2024-05-19 22/week @ 2024-05-26 15/week @ 2024-06-02 31/week @ 2024-06-09 21/week @ 2024-06-16 11/week @ 2024-06-23 5/week @ 2024-06-30 9/week @ 2024-07-07 4/week @ 2024-07-14 7/week @ 2024-07-21 245/week @ 2024-07-28 13/week @ 2024-08-04

每月下载量270次

MIT许可证

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