交付 2/5:详情与 JSON
n09 要交付的应用(比贯穿的多两样:作者字段、删除):
数据 rows:[{"id", "text", "by"}],id 从 1 起递增
GET / 200 首页:<p>共 N 条</p> + 列表(每条「内容 —— 作者」,转义)+ 表单(text、by 两个字段)
GET /notes/<id> 200 详情(按 id 找,不是按位置);没有 404
GET /api/notes 200 JSON {"count": N, "notes": rows}
POST /add text、by 都去空白;任一为空 400;否则追加、303 → /
POST /delete id 字段;没有这个 id 404;否则删掉、303 → /
其余 404;已有路径用错方法 405(这五道题共用一段开头:render、find、next_id、field,和两个头 H(HTML)/ J(JSON)。每道题实现路由表的一部分,最后一道拼成完整的 app。)
补全 detail(rows, tail):tail 是路径 /notes/ 后面的一截,不是数字或找不到 → (404, H, render("没有这条", …));找到 → (200, H, render("第 id 条", <p>内容</p><p>作者</p>))。再补 api(rows):(200, J, {"count", "notes"} 的 JSON)。
全部评论