rest - REST API 设计以获取摘要和详细信息
问题描述
我有 2 个 UI 屏幕。第一个 UI 屏幕仅显示高级摘要,例如班级、班级学生人数。
我有详细信息屏幕,显示更多信息,如班级、学生人数、班级学生信息等。
设计此类 API 以通过 UI 消费的最佳实践是什么 - 我可以将其称为 /summary、/details API 吗?或遵循 REST 约定并将其称为 /class ( GET class details ) 并传递适当的过滤器以接收摘要与详细信息,即 /class?filter=summary|details
请指教。
解决方案
这两种方法都可以作为 REST 端点。
是的,通常拥有描述特定事物的细粒度资源,但创建针对特定用例进行优化的自定义端点也是可以接受的。
事实上,如果您遵循 REST 的原始学术思想而不是对 REST 是什么的普遍理解,那么具有所有相关状态并描述用户可以从该状态执行的所有可能操作的单个端点可能被认为更 RESTful。
从纯粹的架构角度来看,如果您有许多专门的端点而不是几个通用端点,那么风险可能会更高。可能会导致 API 更改频率更高,更多代码可能意味着更多风险。你的旅费可能会改变。
Tl; dr:两者都可能很好并且有成本/收益。
推荐阅读
- matlab - MATLAB:替换缺失的单元格条目而不替换空格
- javascript - spring boot和jsp中如何使用ajax实现csv或excel文件上传?
- c# - 需要在限制之前停止的上限金额
- shopify - 身份验证后重定向到未定义的链接
- python - 从函数外部调用在函数中创建的对象
- python - 获取 Pymongo Gridfs 上传到 MongoDB 数据库的上传进度
- winapi - 错误消息“在此范围内需要”是什么意思?
- python - 为 arm64 交叉编译 python 包
- vba - 在“动作”菜单中自动更改 PowerPoint 形状的超链接
- javascript - Vetur 找不到 package.json