超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

查询、分页、过滤与排序

RESTful API、JWT 与权限认证#Python全栈#第十三阶段#RESTful API、JWT 与权限认证#查询、分页、过滤与排序约 665 字 · 2 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

列表接口的分页参数如何设计和校验?

追问 页码分页与 limit/offset 分页各有什么边界?怎样限制最大页大小,避免一次请求拖垮数据库和响应?

游标分页与页码分页适合哪些数据变化场景?

追问 新增和删除频繁时,offset 可能出现什么重复或跳过?游标字段需要稳定、可比较且有索引意味着什么?

筛选条件如何避免把数据库查询拼接成不安全字符串?

追问 字段白名单、运算符映射和参数绑定分别解决什么问题?用户可排序字段为何也需要白名单?

排序参数怎样设计才能保持稳定结果?

追问 按更新时间排序时如何用唯一键作为次级排序?升降序、非法字段和空值位置怎样约定?

日期、状态和多值筛选参数应如何表达?

追问 时区、闭区间/半开区间、重复参数与逗号分隔怎样选择?接口文档如何给出不歧义的样例?

列表接口返回空结果应使用什么状态和结构?

追问 空集合、资源不存在和筛选无匹配有什么区别?为什么通常不应把空列表返回成 404?

详情接口访问不存在资源时如何反馈?

追问 路径参数格式错误、资源不存在和用户无权看到分别如何区分?在防止资源枚举时是否需要统一部分响应?

批量查询与批量修改应如何设计输入输出?

追问 部分成功、全量事务、重复 ID 和单项错误怎样表达?为什么一个超大数组可能需要异步任务或大小限制?

字段选择、嵌套展开和 include 参数有什么风险?

追问 减少响应体与泄露关联对象之间如何权衡?字段白名单和权限校验应在哪一层完成?

查询参数改变后,缓存和 ETag 应如何考虑?

追问 不同用户、权限和筛选条件是否能共享同一个缓存?Vary、授权头和个性化响应怎样影响缓存设计?