У меня есть класс сущности "Сотрудник", Spring Data Rest возвращает всех сотрудников, когда я использую запрос Get по пути "../employees". По умолчанию он создает также ссылки на отношения @OneToMany. Например
"_links": {
"self": {
"href": "http://localhost:9000/mep/api/employees/1003"
},
"employee": {
"href": "http://localhost:9000/mep/api/employees/1003"
},
"assignmentProjectEmployeeSet": {
"href": "http://localhost:9000/mep/api/employees/1003/assignmentProjectEmployeeSet"
}
}
Является частью вывода. Теперь я отфильтрую этот список по спецификациям в следующем классе.
@Service
public class EmployeeFilterService {
public Resources<Employee> getFilteredEmployees(Employee toBeFilteredEmployee) {
List<Employee> filteredEmployees = employeeRepository.findAll(
// filter stuff
);
List<Resource<Employee>> filteredEmployeesResources = new ArrayList<>();
for (Employee e : filteredEmployees) {
Resource<Employee> resource = new Resource<>(e);
filteredEmployeesResources.add(resource);
}
return new Resources(filteredEmployeesResources);
}
}
К сожалению, на этот возврат нет ссылок. Я знаю, что могу добавлять ссылки вручную, но Spring Data Rest умеет создавать недостающие ссылки. Как я могу использовать это поведение по умолчанию?
Я прочитал кое-что о PageResources, но я не уверен, что это решение.
Спасибо за любую помощь
Матиас