package med.voll.api.controller;
import jakarta.validation.Valid;
import med.voll.api.dto.DatosPaciente;
import med.voll.api.dto.PacienteDTO;
import med.voll.api.model.Paciente;
import med.voll.api.repository.PacienteRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/pacientes")
public class PacienteController {
@Autowired
PacienteRepository pacienteRepository;
@PostMapping()
public void registrarPaciente(@RequestBody @Valid PacienteDTO datosPaciente) {
pacienteRepository.save(new Paciente(datosPaciente));
}
@GetMapping()
public Page<DatosPaciente> mostrarPacientes(Pageable pageable) {
return pacienteRepository.findAll(pageable).map(DatosPaciente::new);
}
}
package med.voll.api.dto;
import med.voll.api.model.Paciente;
public record DatosPaciente(
String nombre,
String email,
String telefono,
String documento
) {
public DatosPaciente(Paciente p) {
this(p.getNombre(), p.getEmail(), p.getTelefono(), p.getDocumento());
}
}