这个项目能做什么

Soenneker.Docker.Hub.OpenApiClient 是一个通过 Kiota 生成的 Docker Hub API .NET 客户端。它已打包至 NuGet,可以通过 `dotnet add package Soenneker.Docker.Hub.OpenApiClient` 添加。 关于创建客户端,README 演示了构建 `HttpClient`、设置 Bearer 授权标头、使用 `AnonymousAuthenticationProvider` 和 `HttpClient` 创建 `HttpClientRequestAdapter`、将基础 URL 设置为 `https://hub.docker.com`,并使用该适配器实例化 `DockerHubOpenApiClient`。它建议将令牌保存在源代码控制之外,并重复使用 `HttpClient`、适配器和生成的客户端。配套包 `Soenneker.Docker.Hub.OpenApiClientUtil` 提供了依赖注入注册和缓存构建功能。 README 包含了一个通过 `client.V2.AccessTokens.GetAsync` 列出个人访问令牌的示例,其中设置了 `Page` 和 `PageSize` 查询参数,并从响应中读取 `Results` 集合。分页是显式的:调用者使用响应中的 `Next`、`Previous` 和 `Count` 来决定接下来请求哪个页面,客户端不会自动枚举所有结果。 请求构建器遵循 URL 层级结构,从 `client.V2` 开始,集合索引器提供路径参数(如访问令牌 UUID 或组织名称)。Kiota 将文档中记录的非成功响应映射到继承自 `ApiException` 的生成模型中;具体错误类型取决于端点。例如,列出访问令牌时,`400` 映射到 `ValueError`,`401` 映射到 `Error`。README 建议在记录或转换失败时保留这些细节,并让取消操作流向调用者。 由于客户端和模型是生成的,README 警告不要直接编辑它们,因为重新生成会覆盖这些更改。当 Docker Hub 的规范发生变化时,端点名称、可空性、错误映射和模型形状可能会改变,因此在升级生产环境消费者之前应审查包更新。