このプロジェクトについて

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`は、依存関係注入(DI)の登録とキャッシュされた構築機能を提供します。 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の仕様変更に伴い、エンドポイント名、Null許容性、エラーマッピング、モデルの形状が変更される可能性があるため、本番環境のコンシューマーをアップグレードする前にパッケージの更新内容を確認する必要があります。