从 MEAN 堆栈的 node 后端获取数据

2025年3月17日 | 阅读 3 分钟

在我们之前的章节中,我们改进了 server.js 文件。我们添加了一些错误处理代码,并使用了 nodemon 包来监控项目中的 node。在本节中,我们将学习如何获取帖子。我们将前往 node 后端获取我们的帖子,即虚拟帖子,因为我们没有数据库。

我们将把所有其他代码添加到我们的 express 应用程序中,因为这是一个我们想要用来创建路由的工具,这使得它更容易。我们将使用以下步骤来获取帖子

1) 第一步,我们必须注册一个路径,因为当我们向该路径发送 get 请求时,我们可以获取帖子。为此,我们需要摆脱之前创建的冗余中间件。

Fetching data from node backend in MEAN stack

2) 我们将在我们的 use() 函数中使用中间件。所以,我们将在其中添加另一个参数。我们可以在其中添加任意数量的参数。之前,我们添加了一个函数作为处理请求的参数。现在,我们将传递一个路径,我们希望将其过滤掉作为参数。

如果我们添加 /post,这意味着只有针对 localhost 3000/posts 的请求才会到达此中间件,所有其他请求将进入虚空,因为我们现在没有默认的错误处理程序。我们将路径命名为 /api/posts,以明确它是一个 rest API。

Fetching data from node backend in MEAN stack

3) 现在,我们必须针对此路径才能访问代码。我们将在其中返回 JSON 数据,因此我们将使用 json() 函数。此函数将以 JSON 格式返回数据。我们将使用一个 javascript 数组设置虚拟数据,其格式与我们在前端使用的帖子相同。


Fetching data from node backend in MEAN stack

4) 我们还将引入一个 ID,因为如果我们从数据库中获取这些帖子,它们将具有一个 ID。

注意:后端代码和我们数据的结构与前端模型完全解耦。

我们可能会在后端存储一些我们不想传递给客户端的额外信息。我们不会将帖子定义为 posts 数组中的模型,因为我们在这里没有使用 typescript。我们这样定义帖子


Fetching data from node backend in MEAN stack

5) 现在,我们需要使用我们的响应来返回它们。我们可以简单地将对象数组传递给函数,如下所示


Fetching data from node backend in MEAN stack

现在,我们保存它并转到 localhost:3000/api/posts,我们将能够看到我们的 JSON 数据。

Fetching data from node backend in MEAN stack

我们还可以发送回更复杂的对象,其中我们可能有一个包含消息的消息属性,然后是我们的帖子属性,它包含帖子数组,如下所示


Fetching data from node backend in MEAN stack

在上面的代码中,我们添加了另一个方法 status 并将值 200 作为成功的参数传递。

现在,我们保存它并转到 localhost:3000/api/posts,我们将能够看到我们的 JSON 数据,其中包含消息和帖子属性,如下所示

Fetching data from node backend in MEAN stack

在下一节中,我们将学习如何在我们的应用程序中使用 angular HTTP 客户端。