diff --git a/src/main/java/com/mirna/hospitalmanagementapi/application/controllers/PatientController.java b/src/main/java/com/mirna/hospitalmanagementapi/application/controllers/PatientController.java index db87cf4..0ca155e 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/application/controllers/PatientController.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/application/controllers/PatientController.java @@ -3,6 +3,9 @@ package com.mirna.hospitalmanagementapi.application.controllers; import java.net.URI; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.web.PageableDefault; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -14,6 +17,7 @@ import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; import com.mirna.hospitalmanagementapi.domain.dtos.patient.PatientDTO; +import com.mirna.hospitalmanagementapi.domain.dtos.patient.PatientPublicDataDTO; import com.mirna.hospitalmanagementapi.domain.entities.Patient; import com.mirna.hospitalmanagementapi.domain.services.PatientService; @@ -71,4 +75,19 @@ public class PatientController { return ResponseEntity.ok(patient); } + + /** + * Get method to receive a paginated sublist of objects containing data transfer objects with Patient public information + * + * @param pageable Pagination information, such as size and page number + * + * @return A response entity containing the paginated sublist of patients if successful + */ + @GetMapping + public ResponseEntity getPatients(@PageableDefault(size = 10, sort = {"name"}) Pageable pageable) { + + Page patients = patientService.findPatients(pageable); + + return ResponseEntity.ok(patients); + } }