23.5.2.1. 查询 GitHub API
使用 reqwest::get
查询 点赞的用户 API v3,以获取某个 GitHub 项目的所有点赞用户的列表。使用 Response::json
将响应信息 reqwest::Response
反序列化为实现了 serde::Deserialize
trait 的 User
对象。
tokio::main 用于设置异步执行器,该进程异步等待 reqwest::get
完成,然后将响应信息反序列化到用户实例中。
use serde::Deserialize; use reqwest::Error; #[derive(Deserialize, Debug)] struct User { login: String, id: u32, } #[tokio::main] async fn main() -> Result<(), Error> { let request_url = format!("https://api.github.com/repos/{owner}/{repo}/stargazers", owner = "rust-lang-nursery", repo = "rust-cookbook"); println!("{}", request_url); let response = reqwest::get(&request_url).await?; let users: Vec<User> = response.json().await?; println!("{:?}", users); Ok(()) }