1
resposta

[Bug] java.lang.IllegalArgumentException: No enum constant

meu método cadastrar está assim

   @PostMapping
    @Transactional
    public void cadastrar(@RequestBody @Valid DadosCadastroConteiner dados){
        repository.save(new Conteiner(dados));
    }

porém ao continuar fazendo os demais métodos, no caso, o método listar, conforme o curso SpringBoot 3: desenvolva uma API Rest em Java,

    @GetMapping
    public Page<DadosListagemConteiner> listar(@PageableDefault(size = 10, sort = { "cliente" }) Pageable paginacao) {
        return repository.findAll(paginacao).map(DadosListagemConteiner::new);
//        converte um Conteiner para DadosListagemConteier. no final o metodo .toList() converte tudo pra uma lista
    }

recebo um erro 500 fazendo a requisiçao do tipo get pelo insomnia

java.lang.IllegalArgumentException: No enum constant example.porto.api.conteiner.Categoria.0
    at java.base/java.lang.Enum.valueOf(Enum.java:274) ~[na:na]
    at org.hibernate.type.descriptor.java.EnumJavaType.fromName(EnumJavaType.java:231) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.type.descriptor.converter.internal.NamedEnumValueConverter.toDomainValue(NamedEnumValueConverter.java:53) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.type.descriptor.converter.internal.NamedEnumValueConverter.toDomainValue(NamedEnumValueConverter.java:27) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.sql.results.graph.basic.BasicResultAssembler.assemble(BasicResultAssembler.java:82) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.sql.results.graph.DomainResultAssembler.assemble(DomainResultAssembler.java:33) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.sql.results.graph.entity.AbstractEntityInitializer.extractConcreteTypeStateValues(AbstractEntityInitializer.java:1029) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.sql.results.graph.entity.AbstractEntityInitializer.initializeEntityInstance(AbstractEntityInitializer.java:805) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.sql.results.graph.entity.AbstractEntityInitializer.initializeEntity(AbstractEntityInitializer.java:780) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]
    at org.hibernate.sql.results.graph.entity.AbstractEntityInitializer.initializeInstance(AbstractEntityInitializer.java:766) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]

Caso precisar de mais detalhes, por favor!!! alguém salva euuuuuuuuuuuu

1 resposta

Oi!

O problema é no mapeamento do enum Categoria na sua entidade Conteiner. Manda o código da entidade e desse enum aqui.