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

Produciendo datos

Buenos dias al llegar a esta clase cuando intento hacer el GET en insomnia me arroja este error, hice todo tal cual el profesor como podra ser que lo resuelva? el chat GPT me arrroja lo siguiente: ** El error se origina en la clase EnumJavaType en la línea 197, cuando intenta convertir un byte a un tipo enumerado. Es probable que el byte no corresponda a un valor válido para la enumeración esperada.** la verdad no se como resolverlo agradezco vuestra ayuda.

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

3 respuestas

Hola Analia,

Puede que más bien estes poniendo una longitud mayor a la que acepta algún objeto de tu entidad por eso te da el error outBoundsException en la primera línea de insomnia, también peudes subir tu código a github para que sea más fácil depurar el error

Buenas; yo estoy obteniendo el mismo error que Analia; tiene toda la pinta de ser el enum de "especialidad" el que esta causando el problema. Ya que en workbench , el atributo especialidad es un numero. Genesys explico como mapear los enum como string y no en funcion del index, pero no lo recuerdo.

Nos podrian ayudar a solucionar esto? Gracias

Analia; lo siguiente me soluciono el problema.

1ro detuve mi app en el IDE; borre la dos tablas (medicos y lyway_schema_history) de mi base de datos (drop table con click dcho)2do en mi clase medico; luego del @enumerated agregue EnumType.String) quedando la clase:

@Table(name="medicos")
@Entity(name="Medico")
// lombok en acciion:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = "id")
public class Medico {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String nombre;
    private String email;
    private  String telefono;
    private String documento;
    
  @Enumerated(EnumType.STRING)
    private Especialidad especialidad;
   
   @Embedded
    private Direccion direccion;


    public Medico(DataRegistroMedico dataRegistroMedico) {
        this.nombre = dataRegistroMedico.nombre();
        this.email = dataRegistroMedico.email();
        this.telefono = dataRegistroMedico.telefono();
        this.documento = dataRegistroMedico.documento();
        this.especialidad = dataRegistroMedico.especialidad();
        this.direccion = new Direccion(dataRegistroMedico.direccion());
    }
}

guarde mi proyecto.

corri nuevamente la app; agregue con insomia algunos medicos; y finalmente hice el get con insomnia devolviendome los JSONs como resultado

Espero te sirva!

buen estudio!!!