Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mesmo com a opção @NotBlank, está aceitando o crm nulo; Ainda colocando o @NotNull junto não resolveu...

package med.voll.api.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.endereco.DadosEndereco;

public record DadosCadastroMedico(
        @NotBlank
        String nome,
        @NotBlank
        @Email
        String email,
        @NotBlank
        @Pattern(regexp = "\\d{4,6}")
        String crm,
        @NotNull
        Especialidade especialidade,
        @NotNull
        @Valid
        DadosEndereco endereco) {
}

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

O V1__create-table-medicos.sql está assim:

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

2 respostas
solução!

Olá! Tudo bem?

O código está certinho. Talvez não tenha sido salvo as alterações no código e por isso o problema aconteceu.

Verifica na tela de settings (Atalho: ctrl + alt + S) dentro de Build, Execution, Deployment -> Compiler se a opção Build project automatically está marcada:

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

Pare o projeto e faça um build manual, clicando no ícone do martelo na cor verde:

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

Rode a aplicação e teste novamente, pois deveria dar erro 400 no insomnia:

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

Verifique também na sua classe controller, no método cadastar, se o parâmetro está anotado com @Valid:

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

Estava faltando o @Valid; Muito Obrigado, Rodrigo !!!