My DTO is different from entity. How can I return a DTO instead of entity with pagination while still showing information of all pages?
Controller:
@GetMapping("/{name}")
public Page<Student> getStudent(@PathVariable(value = "name") String name, Pageable pageable){
Page <Student> page = studentService.getStudent(name, pageable);
return page;
}
Service:
public Page<Student> getStudent(String name, Pageable pageable){
Page<Student> students = studentRepository.findAllByName(name, pageable);
return students;
}
Repository:
@Repository
public interface StudentRepository extends
PagingAndSortingRepository<Student, Long> {
Page<Student> findAllByName(String name, Pageable pageable);
}
DTO:
@Data
public class StudentDTO extends ResourceSupport {
Long _id;
String name;
}
Entity:
@Entity
@Data
@NoArgsConstructor(force = true, access = AccessLevel.PUBLIC)
public class Student {
@Id
@GeneratedValue
private Long id;
private String name;
private Long grade;
}