spring-boot - REST API 过滤器,其字段的值是根据其他字段动态计算的
问题描述
我有一个 REST 服务(Springboot),它为数据库中的资源提供基本的 CRUD。例如,名为virtual-machines的资源。
GET虚拟机的响应体如下所示:
{
"vmName": "123",
"vmDisks": [
{
"disk1": {"diskSize": 123},
"disk2": {"diskSize": 234}
}
],
"totalSize" : 357
}
我想过滤 totalSize 大于 300 的虚拟机。
/api/virtual-machines?filter="totalSize lt 300"
但是,该字段totalSize
不会永久存储在 DB 中(根据diskSize
REST 层中的字段动态计算)。通过将过滤器传递到DB中可以很容易地实现DB中的过滤字段,同时分页可以由DB处理。
对于这个计算字段 - totalSize
,我不知道如何支持过滤和排序。显然,我无法获取内存中的所有资源并手动通过分页对这个特殊字段进行过滤和排序。
我很感激你的回复。
解决方案
推荐阅读
- swift - 收听添加到 Firestore 集合中的任何新文档
- architecture - 具有 Hystrix 和数十种服务的架构
- sql - 尝试在 Ubuntu 上读取格式文件时出现 SQL BCP 未知错误
- python-3.x - 如何在 sql IN 语句中包含不同数量的变量?
- conditional-statements - 使用贝叶斯公式
- c++ - 使用元组在 C++ 中进行 4d 映射
- javascript - 如何解析 JSON 响应并将值存储在数组中
- java - 如何检测我点击了 Windows 任务栏上的应用程序的显示?
- c - 如何使printf在循环中只运行一次
- qtp - 如何(永久)设置语言环境