(二十二)独立练习与后续衔接
- 自拟:记录一次保存链。 在 Network 中保留 POST 与后续 GET,写下字段、状态、Location,以及数据库何时新增记录;再刷新两次核对数量。
- 自拟:对照两种输入。 分别用表单和 JSON 保存同样的书,解释字段在解析后是什么类型,再让两个账号分别保存同名书,核对唯一约束的含义。
- 自拟:逐项构造失败请求。 只改书名、布尔状态、Content-Type、方法或令牌中的一项,先预测状态与数据库结果,再执行核对。
- 自拟:追踪一份会话。 记录登录前后与退出后的编号,画出服务器表中记录的变化;再让旧编号请求列表,解释为什么不能继续取得原身份。
- 自拟:检查记录归属。 使用 alice 保存一条书,再用 bob 的合法会话和令牌请求标记该编号;核对身份正确、令牌正确与记录归属是三个判断。
- 自拟:验证文本输出。 保存包含尖括号、引号和
$的书名,核对 HTML 显示、JSON 原文和浏览器节点;保证数据没有在某一步被重复转义。 - 自拟:比较两个前端端口。 保持 Cookie 和 API 地址相同,只改变页面端口,记录实际 OPTIONS、服务器响应与脚本可见结果;同时检查写入仍需令牌和权限。
- 自拟:增加一个阅读统计接口。 将前章目录分析中的已读数与总数做成当前用户的只读 JSON 响应,先固定查询归属与输出字段,再接到路由表和页面按钮。
这一章把浏览器操作还原成可检查的请求链。下一章用 FastAPI 接管路由、参数与模型校验,继续完成书籍 API;数据库事务、身份与权限仍沿这里已经核对过的业务过程组织。
本章习题解答与推导 按题号整理实现、过程说明与运行检查,可在完成练习后逐项对照。