用户登录

国庆活动:订阅年付会员送 6 个月,重订、续订送 12 个月。订阅 →

在这个 events/:id 这个路由的下面,可以再用一个 patch 方法, 用这个路由可以处理用户的更新单个资源的请求 .. 用一下 EventController 里的 update 方法来处理 ..

再打开 EventController 控制器,添加一下这个 update 方法 ... 一个 request 参数,还有一个 response 响应参数 ..

先添加一个 id ... 它的值是 request ,就是请求对象里的 params 里面的 id 这个参数的值 ..

再定义一个 body .. 它的值是一个对象 .. 里面添加一个 title 属性 ... 对应的值就是要更新的资源的 title 字段的值 .. 这个值应该在 request 的 body 里面 ... 属性的名字是 title ..

然后用一下 Event 模型的 findByIdAndUpdate 方法 ... 找到指定的 id 的资源,然后更新一下资源里的内容 ... 要更新的 id 是上面定义的这个 id ... 一个对象 ... 有一下 $set,设置一下 body ... 这个 body 里面的东西就是要更新的内容 ... 再把 new 选项的值设置成 true .. 这样会返回更新之后的文档 ..

用一个 then .. 把更新之后返回来的 document ,响应给用户 ...

最后导出这个 update 方法 ...

下面可以到 REST 客户端去测试一下 ... 配置一下请求 ... 方法是 PATCH ... 地址是 api/events ... 后面加上具体的要更新的文档的 id 号 ... 可以在 robo 3t 里面,找到一个文档,复制一下文档的 id 号 ...

再把这个 id 粘贴到这个请求的地址里 ..

然后设置一下请求的主体 ... 格式是 JSON ... 添加一个 title 字段 ... 对应的值就是更新之后的标题内容 ... "JSConf"

发送一下这个请求 ...

成功以后,会返回更新之后的这个文档 ...

我们可以到 robo 3t 那里再验证一下 ... 刷新一下 ... 打开数据库里的 events 集合 .. 找到刚才更新的文档 ...

你会发现,它的标题已经变成了在 REST 客户端里面设置的标题了 ...

单个资源更新接口:PATCH api/events/:id《 Node.js:REST 接口 》

统计

11228
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点