🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名 →

Node.js:REST 接口

路由 Routes

了解了 Node.js ,学会了用 Node.js 处理 MongoDB 数据库,现在我们可以为应用开发一套 RESTful 接口。 就是在应用里提供一些地址,用户可以在这些地址,使用不同的 HTTP 的方法去做不同的事情。比如创建,读取,更新,删除应用里的资源。

路由

我们会用一 Express.js ,先去定义一些路由(Routes),就是一些地址,然后你可以用指定的方法去处理对这些路由地址的请求。

示例:

routes/eventRouter.js

router.route('/events')
  .post((request, response) => {
    const event = new Event({
      title: request.body.title
    })

    event.save()
      .then(document => response.send(document))
  })

上面做的就是如果用 HTTP 的 POST 方法,请求 /events 地址的时候,就会把发送过来的东西保存到数据库里。events 表示活动。

控制器

把路由里的处理请求的逻辑提取出来,放到控制器里(Controllers),这样会更好管理一些。控制器只是一类东西的一个特别的名字,方便我们开发者之间沟通。

示例:

controllers/EventController.js

const store = (request, response) => {
  // console.log(request.body)

  const event = new Event({
    title: request.body.title
  })

  event.save()
    .then(document => response.send(document))
}

然后可以这样改进一下路由:

router.route('/events')
 .post(EventController.store)

我们把放在路由里的代码拿出来,放在了一个单独的控制器里,然后直接让路由使用控制器里的方法来处理用户请求。

REST

根据用户使用的不同的 HTTP 的方法,定义一些接口地址(路由),来处理用户对不同资源的请求。比如用 GET 方法请求 /events 的时候,应该返回活动资源列表。如果用 POST 方法请求 /events 的时候,应该把用户在表单或客户端那里发送过来的数据保存到数据库里。REST 就是定义了一套规则,规范,或者说 REST 是一种风格。你可以根据自己的实际情况去实施,并没有严格定义必须应该怎么做。

订阅宁皓网, 学习新课程《Node.js:REST 接口》,还有更多关于 Node.js 的课程

 

Node.js
微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

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

社会化网络

关于

微信订阅号

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