Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
7
respuestas

Import de ObjectMapper

Buenas tardes. He probado ya hasta la versión 2.18.0, también las versiones de la profe, y sigo teniendo este mismo problema: Error obtenido Archivo pom.xml:

contenido de pom.xml Ayuda por favor :(

7 respuestas

Actualización, la 2.17.1 si me funcionó. Probé con todas, pero aquella fue la única que me sirvió. ObjectMapper solucionado

Hola, yo por lo menos he bajado hasta la versión 16, pero no me sirve y sigo con errores en la clase, no sé que pasa

package com.aluracursos.screenmatch.service;

import com.aluracursos.screenmatch.model.DatosSerie; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper;

public class ConvierteDatos implements IConvierteDatos {

private ObjectMapper objectMapper = new ObjectMapper();

@Override
public <T> T obtenerDatos(String json, Class<T> clase) {
    try {
        return objectMapper.readValue(json, clase);
    } catch (JsonProcessingException e) {
        throw new RuntimeException(e);
    }
} // Esta llave cierra el método

} // Esta llave cierra la clase

puede que no lo estes implementando correctamente, tambien puede que implique la version del jdk que estes usando, yo estoy haciendo tal cual estan haciendo el curso y con el jdk 17 y el jackson " com.fasterxml.jackson.core jackson-databind 2.16.0 " me funciona, probe con versiones nuevas y me funciona igual

package com.noemi.desafio.desafiob.service;

import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper;

public class ConvierteDatos implements IConvierteDatos{ private ObjectMapper mapper = new ObjectMapper(); @Override public T obtenerDatos(String json, Classclase){ try { return mapper.readValue(json.toString(),clase); } catch (JsonProcessingException e) { throw new RuntimeException(e); } } llamaste a (la interface)** Implements IConvierte datos?**??

Hola Marcos

De hecho baje el jdk a 17 en vez de 21 por un lado. Y por otro lado tuve que agregar mas dependencias que las que tenía el video en el pom.xml: 4.0.0 org.springframework.boot spring-boot-starter-parent 3.3.4 com.aluracursos screenmatch 0.0.1-SNAPSHOT screenmatch Proyecto 1 en Spring <java.version>17</java.version> org.springframework.boot spring-boot-starter

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.17.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.17.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.17.0</version> <!-- Agrega esta dependencia -->
    </dependency> <!-- Aquí se cierra la dependencia de jackson-core -->

    <dependency>
        <groupId>com.aluracursos</groupId>
        <artifactId>screenmatch</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
Luego tuve el problema de las respuesta de la API, el metodo no me reconocia el Integer así que que lo parsee: /public record DatosSerie( // @JsonAlias("Title") String titulo, // @JsonAlias("totalSeasons") String totalDeTemporadas, // Mantener como String // @JsonAlias("imdbRating") String evaluacion) { // // public Integer getTotalDeTemporadas() { // return totalDeTemporadas != null ? Integer.valueOf(totalDeTemporadas) : null;

saludos

Para solucionar este problema, tuve que de igual forma instalar el archivo JAR de jackson y se me acabaron los problemas.

Yo instale del repositorio de Jackson en la version 18.0 el Databind, el Core, Annotations y Una carpeta que tenia nombre Jackson. Solo asi me funciono.