请教大家 Egg.js 官方的 RESTful 接口有两个路由方法的作用
发布于 2 天前 作者 Andy0570 420 次浏览 来自 问答

新手初入 Node.js

我在阅读 Egg 的官方文档 Egg.js:RESTful 风格的 URL 定义 这边看到:

只要在 router.js 文件中定义 app.resources('routerName', 'pathMatch', controller) 就会自动在一个路径下自动生成以下的 CRUD 路由结构:

Method Path Router Name Controller.Action Description
GET /posts posts app.controllers.posts.index 获取所有资源
GET /posts/new new_post app.controllers.posts.new
GET /posts/:id post app.controllers.posts.show 获取一个指定资源
GET /posts/:id/edit edit_post app.controllers.posts.edit
POST /posts posts app.controllers.posts.create 新建一个资源
PUT /posts/:id post app.controllers.posts.update 更新一个资源
DELETE /posts/:id post app.controllers.posts.destroy 删除一个资源

大多数路由方法我能看懂,其中,第 2、4 两个路由方法没看懂,请教大家它的作用。 因为它似乎并不符合常规的 RESTful 描述,让我无法理解。

HTTP 方法 路径 response 格式
GET /collection 返回资源对象的列表(数组)
GET /collection/resource 返回单个资源对象
POST /collection 返回新生成的资源对象
PUT /collection/resource 返回完整的资源对象
PATCH /collection/resource 返回完整的资源对象
DELETE /collection/resource 返回一个空文档

当然文档后面也有说:

如果我们不需要其中的某几个方法,可以不用在 posts.js 里面实现,这样对应 URL 路径也不会注册到 Router。

回到顶部