update path

This commit is contained in:
MSI\joaly 2026-01-13 22:40:05 -04:00
parent 22c5bc1fc3
commit ed61329e36
6 changed files with 31 additions and 14 deletions

View File

@ -107,10 +107,19 @@ public class HttpClientService implements HttpClientUseCase {
String finalUrl = request.getUrl();
if (request.getPathParams() != null && !request.getPathParams().isEmpty()) {
log.info("Reemplazando path params. URL original: {}", finalUrl);
log.info("Path params recibidos: {}", request.getPathParams());
for (Map.Entry<String, String> entry : request.getPathParams().entrySet()) {
String placeholder = "{" + entry.getKey() + "}";
finalUrl = finalUrl.replace(placeholder, entry.getValue());
String value = entry.getValue();
log.info("Reemplazando '{}' con '{}'", placeholder, value);
finalUrl = finalUrl.replace(placeholder, value);
}
log.info("URL despues de reemplazar path params: {}", finalUrl);
} else {
log.warn("No hay path params para reemplazar en la URL: {}", finalUrl);
}
return appendQueryParams(finalUrl, request.getQueryParams());

View File

@ -37,13 +37,21 @@ public class DomLegalCustomerProductDirectoryClient implements DomainUseCase {
Class<T> responseType
) {
String customerIbsNumber = params.getCustomerIbsNumber();
Map<String, String> pathParams = Map.of("customerId", customerIbsNumber);
Map<String, String> queryParams = params.toQueryString();
log.info("Construyendo request al API de dominio");
log.info("URL base configurada: {}", domainConfig.getUrl());
log.info("Path params: {}", pathParams);
log.info("Query params: {}", queryParams);
HttpRequest request = HttpRequest.forApiResponse(
domainConfig.getUrl(),
HttpRequest.HttpMethod.GET,
responseType
)
.withPathParams(Map.of("customerIbsNumber", customerIbsNumber))
.withQueryParams(params.toQueryString())
.withPathParams(pathParams)
.withQueryParams(queryParams)
.withTimeout(
domainConfig.getTimeout().getConnect(),
domainConfig.getTimeout().getResponse()

View File

@ -24,7 +24,7 @@ import org.eclipse.microprofile.openapi.annotations.responses.APIResponses;
import java.util.Objects;
@Slf4j
@Path("/bus-legal-customer-product-directory")
@Path("/customer/accounts")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class LegalCustomerProductDirectoryResource {
@ -42,7 +42,7 @@ public class LegalCustomerProductDirectoryResource {
}
@GET
@Path("/retrieve/{customerIbsNumber : (?!retrieve$).*}")
@Path("/retrieve/{customerId}")
@Operation(
summary = "Recuperar productos de cliente legal",
description = "Consulta masiva de cuentas por numero de cliente IBS"
@ -321,9 +321,9 @@ public class LegalCustomerProductDirectoryResource {
)
})
public Response retrieve(
@PathParam("customerIbsNumber")
@PathParam("customerId")
@Parameter(description = "Numero de cliente IBS (VCUSCUN)", example = "200053197")
String customerIbsNumber,
String customerId,
@QueryParam("appId")
@Parameter(description = "ID de la aplicacion", required = true, example = "DANIAPP")
@ -333,12 +333,12 @@ public class LegalCustomerProductDirectoryResource {
@Parameter(description = "ID de la fintech", example = "pranical-test")
String customerReferenceFintechId
) {
log.info("Iniciando consulta para cliente IBS: {}", customerIbsNumber);
log.info("Iniciando consulta para cliente IBS: {}", customerId);
try {
return Response.ok(useCase.execute(
LegalCustomerProductDirectoryRequest.builder()
.customerIbsNumber(Objects.toString(customerIbsNumber, ""))
.customerIbsNumber(Objects.toString(customerId, ""))
.customerReferenceFintechId(Objects.toString(customerReferenceFintechId, ""))
.appId(Objects.toString(appId, ""))
.build()

View File

@ -17,6 +17,6 @@ api:
key: 'bus-legal-customer-product-directory'
content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"VDE01","httpCode":400,"statusCode":"VDE01","description":"VDE01 - Error en dato de entrada obligatorio: %s"},{"backendCode":"VDE02","httpCode":400,"statusCode":"VDE02","description":"VDE02 - Error en valor permitido para campo: %s"},{"backendCode":"VRN04","httpCode":"503","statusCode":"VRN04","description":"Servicio en horario de mantenimiento","status":"error"},{"backendCode":"204","httpCode":"200","statusCode":"200","description":"Cliente sin productos","status":"ok"}]'
rest-client:
dom-legal-customer-product-directory: '{"url":"http://localhost:8083/dom-legal-customer-product-directory/retrieve/{customerIbsNumber}","timeout":{"connect":10000,"response":10000}}'
dom-legal-customer-product-directory: '{"url":"http://localhost:8083/customer/accounts/retrieve/{customerId}","timeout":{"connect":10000,"response":10000}}'
security-trace: '{"url":"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save","timeout":{"connect":10000,"response":10000},"request":{"sp":"spAPI_Traza","eventCod":"CANCTARJ","bankCod":"01","curCod":"BS"}}'
service-status: '{"url":"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status","timeout":{"connect":10000,"response":10000},"request":{"applicationId": "","transactionId": "","bankService": {"bankCode": "01","serviceCode": "APIFI","eventCode": "P2PVUEL"}}}'

View File

@ -4,16 +4,16 @@ metadata:
name: configmap-bus-legal-customer-product-directory
namespace: proyecto-prueba-ja
uid: 6ac424c2-6da8-476b-9c14-8537f4bf0d04
resourceVersion: '3477923474'
resourceVersion: '3480280220'
creationTimestamp: '2026-01-12T23:42:23Z'
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","data":{"api.allowed.app-id":"[{\"appId\":\"DANIAPP\",\"request\":{\"serviceType\":\"P2P\",\"limitType\":\"REC\",\"casheaIndicator\":\"NO\"}}]","api.bus-legal-customer-product-directory.messages.content":"[{\"backendCode\":\"200\",\"httpCode\":200,\"statusCode\":\"200\",\"description\":\"Operacion exitosa\"},{\"backendCode\":\"R404\",\"httpCode\":404,\"statusCode\":\"404\",\"description\":\"Datos de validación no encontrado.\"},{\"backendCode\":\"503\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"Uso interno\"},{\"backendCode\":\"422\",\"httpCode\":422,\"statusCode\":\"422\",\"description\":\"Uso interno\"},{\"backendCode\":\"500\",\"httpCode\":500,\"statusCode\":\"500\",\"description\":\"Uso interno\"},{\"backendCode\":\"100\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"VDR13 - OSB Disponible\"},{\"backendCode\":\"OSB-382505\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"VDR13 - OSB Disponible\"},{\"backendCode\":\"OSB-380002\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"VDR13 - OSB Disponible\"},{\"backendCode\":\"ERROR\",\"httpCode\":400,\"statusCode\":\"400\",\"description\":\"Uso interno\"},{\"backendCode\":\"400\",\"httpCode\":400,\"statusCode\":\"400\",\"description\":\"Uso interno\"},{\"backendCode\":\"401\",\"httpCode\":401,\"statusCode\":\"401\",\"description\":\"Uso interno\"},{\"backendCode\":\"403\",\"httpCode\":403,\"statusCode\":\"403\",\"description\":\"Uso interno\"},{\"backendCode\":\"404\",\"httpCode\":404,\"statusCode\":\"404\",\"description\":\"Uso interno\"},{\"backendCode\":\"default\",\"httpCode\":409,\"statusCode\":\"409\",\"description\":\"Conflicto\"},{\"backendCode\":\"424\",\"httpCode\":424,\"statusCode\":\"424\",\"description\":\"Error de dependencia\"},{\"backendCode\":\"VDE01\",\"httpCode\":400,\"statusCode\":\"VDE01\",\"description\":\"VDE01 - Error en dato de entrada obligatorio: %s\"},{\"backendCode\":\"VDE02\",\"httpCode\":400,\"statusCode\":\"VDE02\",\"description\":\"VDE02 - Error en valor permitido para campo: %s\"},{\"backendCode\":\"VRN04\",\"httpCode\":\"503\",\"statusCode\":\"VRN04\",\"description\":\"Servicio en horario de mantenimiento\",\"status\":\"error\"},{\"backendCode\":\"204\",\"httpCode\":\"200\",\"statusCode\":\"200\",\"description\":\"Cliente sin productos\",\"status\":\"ok\"}]","api.bus-legal-customer-product-directory.messages.key":"bus-legal-customer-product-directory","api.read-messages.from-props":"true","api.rest-client.dom-legal-customer-product-directory":"{\"url\":\"http://dom-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/dom-legal-customer-product-directory/retrieve/{customerIbsNumber}\",\"timeout\":{\"connect\":10000,\"response\":10000}}","api.rest-client.security-trace":"{\"url\":\"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save\",\"timeout\":{\"connect\":10000,\"response\":10000},\"request\":{\"sp\":\"spAPI_Traza\",\"eventCod\":\"CANCTARJ\",\"bankCod\":\"01\",\"curCod\":\"BS\"}}","api.rest-client.service-status":"{\"url\":\"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status\",\"timeout\":{\"connect\":10000,\"response\":10000},\"request\":{\"applicationId\": \"\",\"transactionId\": \"\",\"bankService\": {\"bankCode\": \"01\",\"serviceCode\": \"APIFI\",\"eventCode\": \"P2PVUEL\"}}}","api.source-id":"BLCPD","quarkus.application.name":"bus-legal-customer-product-directory","quarkus.application.version":"1.0.0","quarkus.debug.print-startup-times":"true","quarkus.debug.reflection":"false","quarkus.http.core-threads":"1","quarkus.http.idle-timeout":"30s","quarkus.http.max-threads":"100","quarkus.http.non-application-root-path":"actuator","quarkus.http.port":"8080","quarkus.log.console.enable":"true","quarkus.log.console.format":"%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n","quarkus.log.level":"INFO","quarkus.profile":"dev","quarkus.smallrye-health.liveness-path":"/actuator/health/live","quarkus.smallrye-health.readiness-path":"/actuator/health/ready ","quarkus.smallrye-health.root-path":"/actuator/health","quarkus.smallrye-health.ui.enable":"false","quarkus.smallrye-openapi.enable":"true","quarkus.smallrye-openapi.path":"/openapi","quarkus.swagger-ui.always-include":"true","quarkus.swagger-ui.path":"/swagger-ui"},"kind":"ConfigMap","metadata":{"annotations":{},"app":"bus-legal-customer-product-directory","labels":null,"name":"configmap-bus-legal-customer-product-directory","namespace":"proyecto-prueba-ja"}}
{"apiVersion":"v1","data":{"api.allowed.app-id":"[{\"appId\":\"DANIAPP\",\"request\":{\"serviceType\":\"P2P\",\"limitType\":\"REC\",\"casheaIndicator\":\"NO\"}}]","api.bus-legal-customer-product-directory.messages.content":"[{\"backendCode\":\"200\",\"httpCode\":200,\"statusCode\":\"200\",\"description\":\"Operacion exitosa\"},{\"backendCode\":\"R404\",\"httpCode\":404,\"statusCode\":\"404\",\"description\":\"Datos de validación no encontrado.\"},{\"backendCode\":\"503\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"Uso interno\"},{\"backendCode\":\"422\",\"httpCode\":422,\"statusCode\":\"422\",\"description\":\"Uso interno\"},{\"backendCode\":\"500\",\"httpCode\":500,\"statusCode\":\"500\",\"description\":\"Uso interno\"},{\"backendCode\":\"100\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"VDR13 - OSB Disponible\"},{\"backendCode\":\"OSB-382505\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"VDR13 - OSB Disponible\"},{\"backendCode\":\"OSB-380002\",\"httpCode\":503,\"statusCode\":\"503\",\"description\":\"VDR13 - OSB Disponible\"},{\"backendCode\":\"ERROR\",\"httpCode\":400,\"statusCode\":\"400\",\"description\":\"Uso interno\"},{\"backendCode\":\"400\",\"httpCode\":400,\"statusCode\":\"400\",\"description\":\"Uso interno\"},{\"backendCode\":\"401\",\"httpCode\":401,\"statusCode\":\"401\",\"description\":\"Uso interno\"},{\"backendCode\":\"403\",\"httpCode\":403,\"statusCode\":\"403\",\"description\":\"Uso interno\"},{\"backendCode\":\"404\",\"httpCode\":404,\"statusCode\":\"404\",\"description\":\"Uso interno\"},{\"backendCode\":\"default\",\"httpCode\":409,\"statusCode\":\"409\",\"description\":\"Conflicto\"},{\"backendCode\":\"424\",\"httpCode\":424,\"statusCode\":\"424\",\"description\":\"Error de dependencia\"},{\"backendCode\":\"VDE01\",\"httpCode\":400,\"statusCode\":\"VDE01\",\"description\":\"VDE01 - Error en dato de entrada obligatorio: %s\"},{\"backendCode\":\"VDE02\",\"httpCode\":400,\"statusCode\":\"VDE02\",\"description\":\"VDE02 - Error en valor permitido para campo: %s\"},{\"backendCode\":\"VRN04\",\"httpCode\":\"503\",\"statusCode\":\"VRN04\",\"description\":\"Servicio en horario de mantenimiento\",\"status\":\"error\"},{\"backendCode\":\"204\",\"httpCode\":\"200\",\"statusCode\":\"200\",\"description\":\"Cliente sin productos\",\"status\":\"ok\"}]","api.bus-legal-customer-product-directory.messages.key":"bus-legal-customer-product-directory","api.read-messages.from-props":"true","api.rest-client.dom-legal-customer-product-directory":"{\"url\":\"http://dom-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/customer/accounts/retrieve/{customerId}\",\"timeout\":{\"connect\":10000,\"response\":10000}}","api.rest-client.security-trace":"{\"url\":\"http://api-register-security-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/register-security/save\",\"timeout\":{\"connect\":10000,\"response\":10000},\"request\":{\"sp\":\"spAPI_Traza\",\"eventCod\":\"CANCTARJ\",\"bankCod\":\"01\",\"curCod\":\"BS\"}}","api.rest-client.service-status":"{\"url\":\"http://api-get-service-status-route-apis-banesco-dev.apps.desplakur3.desintra.banesco.com/service/status\",\"timeout\":{\"connect\":10000,\"response\":10000},\"request\":{\"applicationId\": \"\",\"transactionId\": \"\",\"bankService\": {\"bankCode\": \"01\",\"serviceCode\": \"APIFI\",\"eventCode\": \"P2PVUEL\"}}}","api.source-id":"BLCPD","quarkus.application.name":"bus-legal-customer-product-directory","quarkus.application.version":"1.0.0","quarkus.debug.print-startup-times":"true","quarkus.debug.reflection":"false","quarkus.http.core-threads":"1","quarkus.http.idle-timeout":"30s","quarkus.http.max-threads":"100","quarkus.http.non-application-root-path":"actuator","quarkus.http.port":"8080","quarkus.log.console.enable":"true","quarkus.log.console.format":"%d{HH:mm:ss.SSS} %-5p [%t] [%X{requestId}] %c{1} - %s%e%n","quarkus.log.level":"INFO","quarkus.profile":"dev","quarkus.smallrye-health.liveness-path":"/actuator/health/live","quarkus.smallrye-health.readiness-path":"/actuator/health/ready ","quarkus.smallrye-health.root-path":"/actuator/health","quarkus.smallrye-health.ui.enable":"false","quarkus.smallrye-openapi.enable":"true","quarkus.smallrye-openapi.path":"/openapi","quarkus.swagger-ui.always-include":"true","quarkus.swagger-ui.path":"/swagger-ui"},"kind":"ConfigMap","metadata":{"annotations":{},"app":"bus-legal-customer-product-directory","labels":null,"name":"configmap-bus-legal-customer-product-directory","namespace":"proyecto-prueba-ja"}}
managedFields:
- manager: kubectl-client-side-apply
operation: Update
apiVersion: v1
time: '2026-01-12T23:42:23Z'
time: '2026-01-14T01:04:39Z'
fieldsType: FieldsV1
fieldsV1:
'f:data':
@ -77,7 +77,7 @@ data:
api.source-id: BLCPD
quarkus.smallrye-health.root-path: /actuator/health
quarkus.smallrye-openapi.enable: 'true'
api.rest-client.dom-legal-customer-product-directory: '{"url":"http://dom-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/dom-legal-customer-product-directory/retrieve/{customerIbsNumber}","timeout":{"connect":10000,"response":10000}}'
api.rest-client.dom-legal-customer-product-directory: '{"url":"http://dom-legal-customer-product-directory-route-proyecto-prueba-ja.apps.desplakur3.desintra.banesco.com/customer/accounts/retrieve/{customerId}","timeout":{"connect":10000,"response":10000}}'
quarkus.smallrye-health.readiness-path: '/actuator/health/ready '
quarkus.log.console.enable: 'true'
quarkus.smallrye-openapi.path: /openapi