#f1 #racing #async-client #api-client #query-api #formula1 #ergast

ergast-rs

基于 Ergast API 的异步客户端,用于获取一级方程式(F1)的赛程、资格赛和比赛结果

5 个不稳定版本

0.3.2 2022年12月15日
0.3.1 2022年12月15日
0.2.1 2022年6月26日
0.1.0 2022年6月26日

#1181 in 网页编程

MIT 许可证

41KB
896 代码行

Ergast-rs:您获取一级方程式(F1)结果和赛程的一站式商店

该项目引入了一个 Ergast 特性和主实现 ErgastClient,可以用来查询 Ergast API

要查询 API,您可以使用 RequestBuilder 或者直接将 URL 作为字符串提供给客户端。如果您提供自己的请求字符串,别忘了在查询字符串后追加 .json,否则库无法解析响应。

客户端提供一些预构建的方法来查询

  • 比赛赛程
  • 资格赛结果
  • 冲刺资格赛结果
  • 比赛结果

示例用法

获取上场比赛的结果

let client = ErgastClient::new()?;
let race_results = client
    .race_results(None, None)
    .await?;

获取2020年的比赛赛程

let client = ErgastClient::new()?;
let races = client
    .schedule(Some(2020))
    .await?;

通过 RequestBuilder 获取2019年赛季开赛资格赛结果

let request = RequestBuilder::new()
    .query(RequestType::QualifyingResult)
    .add_parameter(RequestParameter::Season(2019))
    .add_parameter(RequestParameter::Round(1))
    .build();

let client = ErgastClient::new()?;
let qualifying = client
    .query(request)
    .await?;

依赖项

~4–17MB
~249K SLoC