У меня есть служба REST (Springboot), которая обеспечивает c CRUD для ресурсов в БД. Например, ресурс с именем виртуальные машины .
Тело ответа виртуальных машин GET выглядит следующим образом:
{
"vmName": "123",
"vmDisks": [
{
"disk1": {"diskSize": 123},
"disk2": {"diskSize": 234}
}
],
"totalSize" : 357
}
I хотите отфильтровать виртуальную машину, чей totalSize больше 300.
/api/virtual-machines?filter="totalSize lt 300"
Однако поле totalSize
не постоянно сохраняется в БД (вычисляется динамически на основе поля diskSize
в слое REST). Поля фильтрации в БД могут быть легко достигнуты путем передачи фильтра в БД, а БД может обрабатывать БД одновременно.
Для этого вычисляемого поля - totalSize
, я понятия не имею, как поддерживать фильтрация и упорядочение. Очевидно, что я не могу получить все ресурсы в памяти и выполнить фильтрацию и упорядочение этого специального поля с разбивкой на страницы вручную.
Я ценю ваш ответ.