Beleza
ConsultaController
package med.voll.api.controller;
import jakarta.validation.Valid;
import med.voll.api.domain.consulta.DadosAgendamentoConsulta;
import med.voll.api.domain.consulta.DadosDetalhamentoConsulta;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("consultas")
public class ConsultaController {
@PostMapping
@Transactional
public ResponseEntity agendar(@RequestBody @Valid DadosAgendamentoConsulta dados) {
System.out.println(dados);
return ResponseEntity.ok(new DadosDetalhamentoConsulta(null, null, null, null));
}
}
DadosAgendamentoConsulta
package med.voll.api.domain.consulta;
import jakarta.validation.constraints.Future;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
public record DadosAgendamentoConsulta(
Long idMedico,
@NotNull
Long idPaciente,
@NotNull
@Future
LocalDateTime data
) {
}
DadosDetalhamentoConsulta
package med.voll.api.domain.consulta;
import java.time.LocalDateTime;
public class DadosDetalhamentoConsulta {
public DadosDetalhamentoConsulta(Long id, Long idMedico, Long idPaciente, LocalDateTime data) {
}
}