Skip to content

第六站:JSON API 与契约 ​

课程首页 | 路线映射

本站先用 Django 原生 request/response 建立 API 心智模型。DRF 是成熟选修项,但第三方兼容矩阵不应被课程偷偷决定。

运行入口 ​

bash
curl -i -H 'Accept: application/json' http://127.0.0.1:8000/api/tickets/
python manage.py test tickets

实现见原生 JSON API 与长期契约和分页、错误与版本演进。

交付物 ​

  • 列表响应有明确版本、结果数组和分页游标/页码。
  • 创建接口只接受 JSON,未知字段和无效类型返回稳定错误。
  • 输出使用白名单,不序列化整个模型 __dict__。
  • 契约测试覆盖 200/201/400/401/403/404/405/415。

深水边界 ​

JSON 解析成功只证明语法正确;业务校验、对象权限和并发仍需单独处理。Cookie 会话认证的写请求继续需要 CSRF。Token/JWT 也不自动提供撤销与对象授权。

练习(先做) ​

  1. 实现登录用户的工单列表与创建接口。
  2. 对未知字段返回结构化错误,避免静默忽略拼写错误。
  3. 写测试证明响应绝不包含内部审计字段。

练习答案 | 下一站

用心记录每一步成长