Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

2
respostas

[Dúvida] Erro no GET do Médico

Olá! Fiz exatamente o que o instrutor falou para fazer nesse tópico:

https://cursos.alura.com.br/forum/topico-bug-unable-to-locate-constructor-for-embeddable-med-vall-api-endereco-endereco-lombok-instalado-474598

E além de continuar reclamando nos GET, apareceu mais um erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

Bom dia, Osmarina! Tudo bem?

O Lombok está de mal conosco a muitos meses, alguns artigos atuais até recomendam a não utilização dele em projeto, mas vamos resolver o seu caso para você aproveitar completamente o conteúdo do curso.

A solução é fixar uma versão na dependência do Lombok e na versão do plugin, plugin esse que é o responsável por manter essa vigilância das annotations dentro do código.

Sendo mais direto, dentro do arquivo "pom.xml" você fará duas alterações, uma na sessão de </dependencies> na </dependency> do Lombok para ficar assim:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.32</version>
</dependency>

E na sessão <plugins>, mais especificamente em <configuration> que apresenta o <annotationProcessorPaths> que faz a configuração do processamento das annotations, logo terá o Lombok dentro estando dessa forma:

<path>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.32</version>
</path>

Você pode utilizar versões mais recentes do Lombok, mas recomendo essa por ser mais estável e não apresentar uma mudança significativa para versões mais atuais.

Depois disso rode o ícone de "m" do Maven que aparece no canto superior direito para atualizar os pacotes da dependência do projeto e pronto, tudo deve estar funcionando corretamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Olá, fiz exatamente como disse, inclusive o reload, e ainda está dando erro!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
código do Medico.java:
package med.voll.api.medico;

import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import med.voll.api.endereco.Endereco;

@Table(name = "medicos")
@Entity(name = "Medico")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = "id")

public class Medico {

@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String email;
private String telefone;
private String crm;

@Enumerated(EnumType.STRING)
private Especialidade especialidade;

@Embedded
private Endereco endereco;

public Medico(DadosCadastroMedico dados) {
    this.nome = dados.nome();
    this.email = dados.email();
    this.crm = dados.crm();
    this.telefone = dados.telefone();
    this.especialidade = dados.especialidade();
    this.endereco = new Endereco(dados.endereco());
}

}

e o mesmo erro do endereço no terminal segue:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade