资源与 URL
本课属于 Coddy Node.js 学习旅程的“REST API”单元。第 1 课,共 25 课。
其他程序员会在自己的代码中调用你的 API,所以 API 地址必须容易猜到。大多数 Web API 都遵循一种叫作 REST 的风格:每个地址都指向一个事物,也就是一个资源,而 HTTP 方法则说明要对它执行什么操作。
GET /api/invoices the list of invoices
GET /api/invoices/7 invoice 7
POST /api/invoices add an invoice
DELETE /api/invoices/7 remove invoice 7路径中放的是名词,绝不放动词。使用 /api/getInvoices 和 /api/deleteInvoice?id=7 时,客户端必须为每种操作学习一个新词。挂载在 app.use('/api/invoices', invoices) 上的路由器会处理这两个地址:它的 '/' 路由对应列表,'/:id' 路由对应一张发票。找不到匹配项的 ID 会返回带有 JSON 错误的 404 响应,因此客户端可以像读取其他响应一样读取它。
挑战
简单- 在
server.js中将路由器挂载到/api/tasks。 GET /api/tasks返回store.js中的数组。GET /api/tasks/:id返回一个任务;如果任务不存在,则返回 404 和{ "error": "Task not found" }。
点击运行,然后发送 GET /api/tasks、GET /api/tasks/2 和 GET /api/tasks/99。
亲手试试
import { Router } from 'express';
import { tasks } from '../store.js';
const router = Router();
// 添加一个获取完整任务列表的路由,再添加一个获取单个任务的路由
export default router;
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
REST API中的所有课
自己练习: Express 在线编辑器