Sobre el proyecto
Soenneker.Docker.Hub.OpenApiClient es un cliente .NET generado con Kiota para la API de Docker Hub. Está empaquetado para NuGet y puede añadirse con `dotnet add package Soenneker.Docker.Hub.OpenApiClient`.
Para crear un cliente, el README muestra la construcción de un `HttpClient`, la configuración de un encabezado de autorización Bearer, la creación de un `HttpClientRequestAdapter` con un `AnonymousAuthenticationProvider` y el `HttpClient`, el establecimiento de la URL base en `https://hub.docker.com` y la instanciación de `DockerHubOpenApiClient` con el adaptador. Aconseja mantener el token fuera del control de versiones y reutilizar el `HttpClient`, el adaptador y el cliente generado. Un paquete complementario, `Soenneker.Docker.Hub.OpenApiClientUtil`, proporciona el registro de inyección de dependencias y la construcción en caché.
El README incluye un ejemplo de cómo listar tokens de acceso personales a través de `client.V2.AccessTokens.GetAsync`, configurando los parámetros de consulta `Page` y `PageSize`, y leyendo la colección `Results` de la respuesta. La paginación es explícita: los llamadores utilizan `Next`, `Previous` y `Count` de la respuesta para decidir qué página solicitar a continuación, y el cliente no enumera automáticamente todos los resultados.
Los constructores de solicitudes siguen la jerarquía de la URL, comenzando en `client.V2`, y los indexadores de colección suministran parámetros de ruta como un UUID de token de acceso o el nombre de una organización. Kiota mapea las respuestas documentadas que no son exitosas a modelos generados que derivan de `ApiException`; el tipo exacto de error depende del endpoint. Por ejemplo, el listado de tokens de acceso mapea `400` a `ValueError` y `401` a `Error`. El README recomienda preservar esos detalles al registrar o traducir fallos y permitir que la cancelación fluya hacia el llamador.
El cliente y los modelos están generados, por lo que el README advierte contra la edición directa de los mismos ya que la regeneración reemplaza esos cambios. Los nombres de los endpoints, la nulidad, los mapeos de errores y las formas de los modelos pueden cambiar cuando la especificación de Docker Hub cambie, por lo que las actualizaciones del paquete deben revisarse antes de actualizar los consumidores de producción.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.