#nhl #openapi #reqwest #hyper #generated-client #api

nhl-stats

使用 openapi-generator 创建的 Rust NHL Stats API 客户端

3 个版本

使用旧版 Rust 2015

0.1.2 2019 年 8 月 9 日
0.1.1 2019 年 8 月 8 日
0.1.0 2019 年 8 月 7 日

#13#generated-client

MIT 许可证

255KB
5K SLoC

Rust NHL Stats API 客户端

Crates.io

Rust 用于使用 NHL Stats API 的客户端。

默认情况下,提供了 reqwesthyper 客户端,分别通过 syncasync 功能标志提供。

已知问题

  • 正在使用的 openapi 规范并不完美,Rust 的生成器也是如此,因此请预期会有很多问题和错误。请打开问题,以便我可以修复。
  • 在 openapi 规范中定义的修饰符目前必须在适用的 ApiClient 方法内使用,只有一些允许传递空值。最终我将尝试将这些转换为 Options 以提高可用性。

示例

use nhl_stats::parameters::*;
use nhl_stats::sync::configuration::Configuration;
use nhl_stats::sync::*;
use std::rc::Rc;

fn main() -> Result<(), Error> {
    let config = Rc::from(Configuration::default());
    let teams_client = TeamsApiClient::new(config);

    // First parameter is expand=, use applicable enum from parameters module
    // Second parameter is season (both years included)
    let expand = EnumExpandTeams::TeamRoster;
    let teams = teams_client.get_teams(expand, "20192020")?;
    for team in teams.teams.unwrap() {
        println!("{:#?}", team);
    }
    Ok(())
}

OpenAPI Generator

此 API 客户端由 OpenAPI Generator 项目生成。通过使用远程服务器上的 openapi-spec,您可以轻松生成 API 客户端。

API 端点文档

所有 URI 都相对于 https://statsapi.web.nhl.com/api/v1

方法 HTTP 请求 描述
ConferencesApi get_conference Get /conferences/{id} 获取 NHL 分区。
ConferencesApi get_conferences Get /conferences 获取所有当前 NHL 分区。
DivisionsApi get_division Get /divisions/{id} 获取 NHL 分区。
DivisionsApi get_divisions Get /divisions 获取所有当前 NHL 分区。
DraftApi get_draft Get /draft 获取当前年度 NHL 选秀的逐轮数据。
DraftApi get_draft_by_year 获取 /draft/{year} 获取特定年份的NHL选秀轮次数据。
DraftApi get_draft_prospect 获取 /draft/prospects/{id} 获取一个NHL选秀球员。
DraftApi get_draft_prospects 获取 /draft/prospects 获取所有NHL选秀球员。
GamesApi get_game 获取 /game/{id}/feed/live 获取NHL比赛的全部数据。
GamesApi get_game_boxscore 获取 /game/{id}/boxscore 获取NHL比赛的比分牌。
GamesApi get_game_content 获取 /game/{id}/content 获取NHL比赛的社论、视频回放和照片亮点。
GamesApi get_game_diff 获取 /game/{id}/feed/live/diffPatch 获取特定时间后NHL比赛的全部数据。
PlayersApi get_player 获取 /people/{id} 获取一个NHL球员。
PlayersApi get_player_stats 获取 /people/{id}/stats 获取NHL球员的具体统计数据。
ScheduleApi get_schedule 获取 /schedule 获取NHL比赛日程。
StandingsApi get_standing_types 获取 /standingsTypes 获取所有可用的NHL排名类型。
StandingsApi get_standings 获取 /standings 获取NHL分区排名。
StandingsApi get_standings_by_type 获取 /standings/{type} 获取特定排名类型的NHL排名。
StatsApi get_stat_types 获取 /statTypes 获取所有可用的NHL统计数据类型。
TeamsApi get_team 获取 /teams/{id} 获取一个NHL球队。
TeamsApi get_team_roster 获取 /teams/{id}/roster 获取一个NHL球队的花名册。
TeamsApi get_team_stats 获取 /teams/{id}/stats 获取一个NHL球队的全部统计数据。
TeamsApi get_teams 获取 /teams 获取所有NHL球队。

模型文档说明

要获取生成文档的访问权限,请使用

cargo doc --open

作者

依赖

~1.7–6MB
~141K SLoC