交付 3/5:添加与删除
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。)
补全 add(rows, body):text、by 任一为空 → (400, H, render("出错了", <p>不能为空</p>));否则追加 {id: next_id, text, by},(303, {**H, "Location": "/"}, "")。delete(rows, body):id 字段不是数字或找不到 → 404;否则删掉、303 → /。
全部评论