2 个不稳定版本
0.2.0 | 2020 年 2 月 14 日 |
---|---|
0.1.0 | 2020 年 2 月 10 日 |
#4 in #pokeapi
68KB
1.5K SLoC
卡牌锈
支持缓存的 https://pokeapi.co/ v2 包装库。
文档
该库的文档可以在 docs.rs (WIP) 找到。对于 API 的文档,请参阅 https://pokeapi.co/docs/v2.html。
基本用法
通过 ID 从 API 获取对象
use pokerust::{Berry, FromId};
fn main() {
let berry = Berry::from_id(1).unwrap();
}
或通过名称
use pokerust::{Berry, FromName};
fn main() {
let berry = Berry::from_name("cheri").unwrap();
}
API 响应将自动缓存。
您还可以获取资源列表
let items = Item::list(5, 20)?; // ?offset=5&limit=20
// get the lists referenced in the next and previous fields
items.previous_list()?;
items.next_list()?;
// you can also just get the full list
let all_items = Item::full_list()?;
要获取由 (Named)APIResource
指向的资源,请使用 get()
let berry = Berry::from_name("cheri")?;
let berry_item = berry.item.get()?; // berry_item is an Item
这可以进行链式调用
let marill = PokemonSpecies::from_name("marill")?;
let sea_incense = marill.evolution_chain.get()?.baby_trigger_item.unwrap().get()?;
使用的 pokeapi 位置可以通过设置 POKERUST_ENDPOINT 环境变量来更改。默认为 https://pokeapi.co/api/v2/ 的公共实例。在使用公共 API 实例之前,请参阅 pokeapi 文档并阅读公平使用政策。
许可
本软件根据 BSD 3-Clause "新"或"修订"许可证授权。
依赖
~1–1.9MB
~40K SLoC