"trace": Cannot invoke "med.voll.api.medicos.models.MedicoRepository.findAll()" because "this.repository" is null
package med.voll.api.medicos.dtos;
import med.voll.api.medicos.enums.EspecialidadeMedico;
import med.voll.api.medicos.models.MedicoModel;
public record DadosListMedicosDTO(
String nome,
String email,
String crm,
EspecialidadeMedico especialidade) {
public DadosListMedicosDTO(MedicoModel medicoModel) {
this(medicoModel.getNome(), medicoModel.getEmail(), medicoModel.getCrm(), medicoModel.getEspecialidade_medicos());
}
}
package med.voll.api.controller;
import jakarta.validation.Valid;
import jdk.dynalink.linker.LinkerServices;
import med.voll.api.medicos.dtos.DadosCadastroMedicosDTO;
import med.voll.api.medicos.dtos.DadosListMedicosDTO;
import med.voll.api.medicos.models.MedicoModel;
import med.voll.api.medicos.models.MedicoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/medicos")
public class MedicoController {
@Autowired
private MedicoRepository repository;
@PostMapping
@Transactional
public void cadastrar(@RequestBody @Valid DadosCadastroMedicosDTO dadosMedicos) {
repository.save(new MedicoModel(dadosMedicos));
}
@GetMapping
private List<DadosListMedicosDTO> listAll() {
return repository.findAll().stream().map(DadosListMedicosDTO::new).toList();
}
}