3 个版本 (破坏性更新)
0.3.0 | 2022 年 9 月 11 日 |
---|---|
0.2.0 | 2022 年 9 月 6 日 |
0.1.0 | 2022 年 8 月 29 日 |
#363 in HTTP 客户端
25KB
471 行
电子馆
电子馆
是一个工作中的 TMDB API 客户端。
电子馆
可用,但尚未覆盖 TMDB API 的很多功能。
用法
将 电子馆
添加到您的 Cargo.toml
依赖中
[dependencies]
eiga = "0.3.0"
示例
此示例展示了如何获取电影详情。您可以在 examples
文件夹中找到其他示例。
use std::env;
use std::error::Error;
use serde::Deserialize;
use eiga::{movie, Client, Tmdb};
// eiga doesn't provide types for endpoint responses. Instead, users provide
// their own structs to deserialize into.
#[derive(Deserialize)]
struct MovieDetails {
release_date: String,
title: String,
}
fn main() -> Result<(), Box<dyn Error>> {
// Create a TMDB client by providing an API access token. Here, the token
// is stored in the TMDB_TOKEN environment variable.
let token = env::var("TMDB_TOKEN")?;
let tmdb = Tmdb::new(token);
// Build an endpoint to get details about "Tokyo Drifter" (1966). Each
// endpoint has setter methods for optional query string parameters.
let tokyo_drifter_id = 45706;
let movie_details_endpoint =
movie::Details::new(tokyo_drifter_id).language("en-US");
// Send the request! Type annotations are required because `send` can
// deserialize the response to any type that implements `Deserialize`.
let movie_details: MovieDetails = tmdb.send(&movie_details_endpoint)?;
assert_eq!(movie_details.title, "Tokyo Drifter");
assert_eq!(movie_details.release_date, "1966-04-10");
Ok(())
}
致谢
依赖
~2.8–4MB
~104K SLoC