3 个版本
使用旧版 Rust 2015
0.1.2 | 2019 年 8 月 9 日 |
---|---|
0.1.1 | 2019 年 8 月 8 日 |
0.1.0 | 2019 年 8 月 7 日 |
#13 在 #generated-client
255KB
5K SLoC
Rust NHL Stats API 客户端
Rust 用于使用 NHL Stats API 的客户端。
- 由 erunion/sport-api-specifications/nhl 提供的 OpenAPI 3.0 规范
- 使用 OpenAPI Generator 生成
- 更全面的文档请参阅 dword4/nhlapi/stats-api.md
默认情况下,提供了 reqwest
和 hyper
客户端,分别通过 sync
和 async
功能标志提供。
已知问题
- 正在使用的 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 版本:1.0.0
- 包版本:1.0.0
- 构建包:org.openapitools.codegen.languages.RustClientCodegen 更多信息请访问 https://github.com/erunion/sport-api-specifications
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球队。 |
模型文档说明
- Conference
- Conferences
- Division
- DivisionConference
- Divisions
- Draft
- DraftDrafts
- DraftPicks
- DraftProspect
- DraftProspectAmateurLeague
- DraftProspectAmateurTeam
- DraftProspectPrimaryPosition
- DraftProspectProspectCategory
- DraftProspects
- DraftRounds
- DraftTeam
- EnumExpandSchedule
- EnumExpandTeams
- EnumStandingTypes
- EnumStatTypes
- Error
- Franchise
- Game
- GameBoxscore
- GameBoxscoreTeam
- GameBoxscoreTeamCoaches
- GameBoxscoreTeamOnIcePlus
- GameBoxscoreTeamPerson
- GameBoxscoreTeamPlayers
- GameBoxscoreTeamPlayersPerson
- GameBoxscoreTeamPlayersPosition
- GameBoxscoreTeamPlayersStats
- GameBoxscoreTeamPlayersStatsSkaterStats
- GameBoxscoreTeamPosition
- GameBoxscoreTeamTeam
- GameBoxscoreTeamTeamStats
- GameBoxscoreTeamTeamStatsTeamSkaterStats
- GameBoxscoreTeams
- GameBoxscores
- GameBoxscoresAllOf
- GameContent
- GameContentEditorial
- GameContentHighlights
- GameContentMedia
- GameContentMediaMilestones
- GameContentMediaMilestonesItems
- GameDecisionPlayer
- GameEditorial
- GameEditorialContributor
- GameEditorialContributorContributors
- GameEditorialKeyword
- GameEditorialMedia
- GameEditorialTokenData
- GameEditorials
- GameGameData
- GameGameDataDatetime
- GameGameDataGame
- GameGameDataStatus
- GameGameDataTeams
- GameGameDataVenue
- GameHighlight
- GameHighlightPlaybacks
- GameHighlightType
- GameHighlights
- GameLinescore
- GameLinescoreIntermissionInfo
- GameLinescorePowerPlayInfo
- GameLinescoreShootoutInfo
- GameLinescoreShootoutInfoAway
- GameLinescoreTeam
- GameLinescoreTeams
- GameLiveData
- GameLiveDataDecisions
- GameLiveDataPlays
- GameLiveDataPlaysPlaysByPeriod
- GameMediaAudio
- GameMediaAudioItems
- GameMediaNhltv
- GameMediaNhltvItems
- GameMetaData
- GameOfficial
- GameOfficialOfficial
- GamePeriod
- GamePeriodAway
- GamePeriodHome
- GamePlay
- GamePlayAbout
- GamePlayAboutGoals
- GamePlayCoordinates
- GamePlayPlayer
- GamePlayPlayers
- GamePlayResult
- GamePlayTeam
- Photo
- PhotoCuts
- Player
- PlayerCurrentTeam
- PlayerStats
- PlayerStatsOpponentDivision
- 玩家统计数据分割
- 玩家统计数据
- 玩家统计数据集
- 球员
- 阵容
- 阵容人员
- 阵容列表
- 赛程
- 赛程日
- 赛程比赛
- 赛程比赛内容
- 赛程比赛队伍
- 赛程比赛队伍客场
- 赛程比赛队伍客场联赛记录
- 赛程比赛队伍客场队伍
- 赛程比赛队伍主场
- 赛程比赛队伍主场联赛记录
- 赛程比赛门票
- 排名类型
- 排名类型记录
- 排名
- 排名分区
- 排名联赛
- 排名记录
- 排名连胜
- 排名队伍记录
- 统计数据类型
- 统计数据类型集
- 队伍
- 队伍阵容
- 队伍统计数据
- 队伍统计数据排名
- 队伍统计数据集
- 队伍统计数据集记录
- 队伍统计数据集分割
- 队伍统计数据集类型
- 队伍统计数据值
- 队伍集
- 场地
- 场地时区
要获取生成文档的访问权限,请使用
cargo doc --open
作者
依赖
~1.7–6MB
~141K SLoC