IT-Academy-BCN / ita-challenges-backend

Backend of ITA Challenges Project
MIT License
14 stars 11 forks source link

Enhancement: endpoint /version (todos los micros) #474

Closed jonatanvicente closed 4 months ago

jonatanvicente commented 5 months ago

Es necesario revisar algunos detalles en la implementación de los endpoints /version:

joseRodriguezCubero commented 4 months ago

En itachallenge-document controller.

He testeado de todas formas posibles, porque no funciona en reactivo este método:

    public Mono<ResponseEntity<Map<String, String>>> getVersion() {
        Map<String, String> response = new HashMap<>();
        response.put("application_name", appName);
        response.put("version", version);
        return Mono.just(ResponseEntity.ok(response));
    }

Solo funciona en no-reactivo:

public ResponseEntity<Map<String, String>> getVersion() {
    Map<String, String> response = new HashMap<>();
    response.put("application_name", appName);
    response.put("version", version);
    return ResponseEntity.ok(response);
}

El problema al parecer empezó cuando se implemento el getSelectetOpenApi. No es reactivo y hace uso de Feign para hacer llamadas a otros micros que por lo visto son bloqueantes. No digo que sea la causa porque en realidad no la he encontrado. Copilot sugiere que el uso de diferentes tecnologías reactivas y no reactivas puede causar conflictos. De momento dejo el método en no-reactivo para que funcione. Reescribir getSelectedOpenApi a reactivo comportaría mucha refactorización y además posiblemente no sea la causa final del problema.

Añadido application.yml para test de documents.