Imaginemos este caso hipotético:
- Agendo una consulta de ortopedia este sábado a las 10:00 horas.
- Es mi primer consulta así que no importa cuál médico me atienda y dejo que se escoja de forma aleatoria (cae en este método).
- Hay tres ortopedistas en la clínica VollMed.
- Pero como hay demasiadas consultas agendadas ese día ninguno de los 3 ortopedistas me puede atender este sábado a las 10:00 así que el método regresa un Medico = null.
Lo correcto sería tratar ese problema con el uso de Optional<>
Optional<Medico> medicoAleatorio = medicoRepository.elegirMedicoAleatorioDisponibleEnLaFecha(datos.especialidad(), datos.fecha());
if (medicoAleatorio.isPresent()) {
return medicoAleatorio.get();
} else {
throw new ValidacionException("Lo siento, ningún especialista te puede atender en este día ni horario, por favor selecciona otro día y horario");
}
Pero me gustaría saber... ¿Qué opinan?, compañeras y compañeros