3
respuestas

Me sale un error llamado NoSuchMethodError

Hola buenas noches, seria posible que me ayuden con el siguiente error. Estoy tratando de hacer el ejercicio con esta api https://potterapi-fedeperin.vercel.app/es/books la cual me llega la informacion bien. Resulta que cuando trato de convertir los datos me sale un error con el jackson, según lo que pude averiguar en la red es que hay problema con esa dependencia la cual hay partes de mi codigo que no estan usando la misma versión, intente varias soluciones pero ninguna me ha funcionado, espero que por favor puedan ayudarme. El código lo hice tal cual como lo venimos trabajando, de hecho me funciono bien con la API que la profe sugirio.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadIngrese aquí la descripción de esta imagen para ayudar con la accesibilidad

3 respuestas

¡Hola Jesus, espero que estés bien!

Entiendo que estás experimentando un error NoSuchMethodError al intentar convertir los datos de la API que estás utilizando. Este tipo de error suele ocurrir cuando hay conflictos de versiones entre las dependencias, en este caso, con Jackson.

Una posible solución es revisar las versiones de las dependencias de Jackson que estás utilizando en tu proyecto. Asegúrate de que todas las partes de tu código estén utilizando la misma versión de Jackson. Puedes verificar esto en tu archivo pom.xml (si estás utilizando Maven) o en tu archivo build.gradle (si estás utilizando Gradle).

Por ejemplo, si estás utilizando Maven, puedes agregar la dependencia de Jackson de la siguiente manera:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.5</version> <!-- Reemplaza con la versión que estés utilizando -->
</dependency>

Si después de verificar las versiones de las dependencias el error persiste, también puedes intentar limpiar el proyecto y reconstruirlo para asegurarte de que no haya conflictos en las dependencias.

Espero que estas sugerencias te ayuden a resolver el error. ¡Buena suerte con tu proyecto!

¡Espero haber ayudado y buenos estudios!

Hola, ya intente todas esas opciones, ninguna funciona.

Hola, también venía batallando con este error desde hace dos días. No me había pasado con el ejercicio screenmatch pero si con el ejercicio que conecta con gutendex. En este caso yo rehice el initializer de Spring en dos oportunidades y cambié varias veces la versión de Jackson de manera progresiva desde la 2.17 (pero no había llegado hasta la 2.12...). El mismo error todas las veces. Actualicé a la versión sugerida por Brenda ( 2.12.5) pero me salió una alerta de incompatibilidad/seguridad de maven que me sugería actualizar a (2.13.4.1). Al ejecutar en debug ahora me salió otro error (java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type java.util.ArrayList<com.aluracursos.desafio.models.DatosFormato> from Object value (token JsonToken.START_OBJECT) at [Source: (StringReader); line: 1, column: 649] (through reference chain: com.aluracursos.desafio.models.Datos["resultados"]->java.util.ArrayList[0]->com.aluracursos.desafio.models.DatosLibros["enlaces"]) pero esto tiene que ver con la inclusión de objetos de instancia Datosformato dentro de DatosLibros. Al comentar todo lo relacionado con DatosFormato -> funciona OK.