Если у меня есть сущность Employee
, то я хочу EmployeeRepository
, который позволяет мне findEmployeesBySalary(SortType sortType, int skip, int limit)
Со стороны веб-службы я хочу URI, такой как
foo.com/employees?by=salary&skip=10&limit=50
который возвращает что-то вроде (как вызов AJAX XHR)
<employees>
<employee uri="/employee/1" />
<employee uri="/employee/2" />
<employee uri="/employee/3" />
</employees>
или полноценную HTML-страницу, отображаемую соответствующим образом.
Это удобно позволяет кэшировать сотрудников на стороне клиента (чторазмер кэша является гибким) и на уровне HTTP.
Обратите внимание, что имена столбцов?Ненужные.У вас будет HiberateEmployeeRepository
, который реализует интерфейс EmployeeRepository
по мере необходимости.Выразите это как методы и используйте сложные параметры, если вам нужно.
Вы можете даже иметь два отдельных метода, если хотите, вместо перечисления, findHighestPaidEmployees
и findLowestPaidEmployees
- foo.com/employees?salary=lowest&skip=10&take=30
.это ужасно удручающий URI.