Fala, boa noite.
Fazendo os testes me deparei com esse erro na campo crm, terei como dar um help? Estranho é q o campo esta com tamanho certo e eu nao ultrapassei esse tamanho:
aqui esta o cod:
mandar aqui as migrations so por desencargo
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Fala, boa noite.
Fazendo os testes me deparei com esse erro na campo crm, terei como dar um help? Estranho é q o campo esta com tamanho certo e eu nao ultrapassei esse tamanho:
aqui esta o cod:
mandar aqui as migrations so por desencargo
Oi Márcio!
Não era para ter dado erro mesmo :D
Manda aqui o código da sua classe Medico
package med.voll.api.domain.medico;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import med.voll.api.domain.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 crm;
private String telefone;
@Enumerated(EnumType.STRING)
private Especialidade especialidade;
@Embedded
private Endereco endereco;
private Boolean ativo;
public Medico(DadosCadastroMedicos 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());
this.ativo = true;
}
public void atulizarInformacoes(DadosAtualizacaoMedicos dados) {
if (dados.nome() != null) {
this.nome = dados.nome();
}
if (dados.telefone() != null){
this.telefone = dados.telefone();
}
if(dados.endereco() != null){
this.endereco.atualizarInformacoes(dados.endereco());
}
}
public void excluir() {
this.ativo = false;
}
}
Achei estranho tb Rodrigo, inclusive nao sei por que cargas d'agua o intellj nao ta reconhecendo a anotacao @WithMockUser , tentei ate jogar a biblioteca direto para importar e nada, nem o chatGPT ajudou nessa ( se bem q esse cara erra muito, ja me disseram no trabolho q é pq eu uso a vsersa free xD )
Manda também seu record DadosCadastroMedico. Quanto ao erro do @WithMockUser, pode ser que no seu projeto esteja faltando a dependência de teste do Spring Security:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
package med.voll.api.domain.medico;
import jakarta.validation.Valid;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import med.voll.api.domain.endereco.DadosEndereco;
public record DadosCadastroMedicos(
@NotBlank(message = "Nome é obrigatório")
String nome,
@NotBlank(message = "Email é obrigatório")
@Email(message = "Formato do email é inválido")
String email,
@NotBlank(message = "CRM é obrigatório")
@Pattern(regexp = "\\d{4,6}",message = "Formato do CRM é inválido")
String crm,
@NotBlank(message = "Telefone é obrigatório")
String telefone,
@NotNull(message = "Especialidade é obrigatória")
Especialidade especialidade,
@NotNull(message = "Dados do endereço são obrigatórios")
@Valid
DadosEndereco endereco) {
}
qto a dependencia ta la tb rsrsrs estav ate dobrado , ainda pensando na versao do spring q coloquei no projeto
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Bom, então está tudo certo e pode ser problema do projeto não estar sendo atualizado automaticamente com as mudanças.
Pare o projeto e de um refresh nas dependências do Maven:
E verifica nas configurações do IntelliJ se a opção Build project automatically está marcada: