Saltar al contenido principal

HttpExecutor

Ejecutor HTTP que maneja todas las comunicaciones con la API de Shori.

Thread-safe: todos los métodos son stateless excepto la inicialización final. El cliente HTTP subyacente (CloseableHttpClient) también es thread-safe.

Modos de operación:

  • Requests normales: usan Bearer token (via TokenProvider)
  • Requests de auth: usan X-ApiKey directamente (via getWithApiKey)

Campos

CampoTipoRestriccionesDescripción
configShoriConfigOpcionalIndica la configuración
tokenProviderTokenProviderOpcionalProveedor de token
responseMapperHttpResponseMapperOpcionalMapper
httpClientCloseableHttpClientOpcionalHttpClient

Metodos

getWithApiKey(String url, Class<T> responseType)

Ejecuta un GET request de autenticación usando X-ApiKey. SOLO debe ser llamado por AuthService.

Parametros:

  • url — URL del endpoint de autenticación
  • responseType — Clase de la respuesta esperada

Retorna: Respuesta deserializada


get(String url, Class<T> responseType)

Ejecuta un GET request con Bearer token.


post(String url, Object body, Class<T> responseType)

Ejecuta un POST request con Bearer token y body JSON.


post(String url, Class<T> responseType)

Ejecuta un POST request con Bearer token sin body.


put(String url, Object body, Class<T> responseType)

Ejecuta un PUT request con Bearer token.


delete(String url)

Ejecuta un DELETE request con Bearer token.


getList(String url, Class<T> elementType)

Ejecuta un GET request con Bearer token y retorna una lista de objetos.

Usa JavaType de Jackson internamente para deserializar correctamente un array JSON [...] a List, evitando el type erasure de Java.

List list = httpExecutor.getList(url, TypologyResponse.class);

Parametros:

  • url — URL del endpoint que retorna un array JSON
  • elementType — Clase del elemento de la lista

Retorna: Lista de objetos deserializados, nunca null


downloadFile(String url, File targetFile)

Descarga un archivo con Bearer token.


uploadFile(String url, File file, Class<T> responseType)

Sube un archivo con Bearer token.