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
| Campo | Tipo | Restricciones | Descripción |
|---|---|---|---|
config | ShoriConfig | Opcional | Indica la configuración |
tokenProvider | TokenProvider | Opcional | Proveedor de token |
responseMapper | HttpResponseMapper | Opcional | Mapper |
httpClient | CloseableHttpClient | Opcional | HttpClient |
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ónresponseType— 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 JSONelementType— 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.