这个接口返回的是什么格式

查一下响应头: Content-Type 的值是什么?(分号前面那一段就够) $ curl -s -D - -o /dev/null http://127.0.0.1:8000/tasks/2 | grep -i '^content

开始练习 →

给每次请求发一个编号

补全 next_id(),让它每调用一次就返回下一个请求编号:req-1、req-2…… 补全后输出第一次调用的结果。

开始练习 →

编号要真的递增

同一个 next_id(),连着调用三次。 补全后只输出第三次的结果。

开始练习 →

把密码字段挡掉

补全 safe():把请求体里名为 password 的值换成 ***,其余字段原样保留。 补全后只输出处理过的 password 值。

开始练习 →

确认日志里真的没有明文

把 safe() 处理过的请求体拼成一行日志,再检查这行日志里有没有出现原始密码。 没出现输出 安全,出现了输出 泄露。

开始练习 →

端到端验收该验什么

一个 CRUD API 的端到端验收,要一次跑通【0】。

开始练习 →

验收里最容易漏掉哪一步

做 CRUD 验收时最容易漏掉的是【0】。

开始练习 →

新建之后拿到的编号

提交一条齐全的数据去新建: 服务器分配给它的 id 是多少? $ curl -s -X POST http://127.0.0.1:8000/tasks -H 'Content-Type: application/json'

开始练习 →

第一步:把路由分派拼起来

前面几节的函数已经各自写好了。现在补全 handle(),让它按方法和路径分派到对应的函数上。 这一步先只接 GET /tasks,补全后只输出状态码。

开始练习 →

第二步:路径里带编号

让 handle() 也认得 /tasks/编号。 补全后只输出查到那条任务的 title。

开始练习 →