节点 API 框架

Node API Framework

我有一个用 Java 编写的服务器端 API,它为我的 Web 应用程序提供所有动态数据。我正在用 Ember.js 编写一个新的前端。我想使用 Java 脚本创建一个新的后端,该脚本将旧的 API 用于动态数据。基本上是中间件。我有一个很大的 JSON 文件,其中包含每个页面的信息(标题、描述、URL 从中获取动态数据等)。

website: {
  tab1: {
    title: "Tab 1",
    pages: [
      page1: {
        title: "Page 1",
        description: "Description 1",
        url: "url containing data"
      },
      page2: {
        title: "Page 2",
        description: "Description 2",
        url: "url containing data"
      }
    ]
  },
  tab2: {
    title: "Tab 1",
    pages: [
      page1: {
        title: "Page 1",
        description: "Description 1",
        url: "url containing data"
      },
      page2: {
        title: "Page 2",
        description: "Description 2",
        url: "url containing data"
      }
    ]
  }
}

当我向 http://server/ 发出请求时,我想接收 ["Tab 1", "Tab 2"]

当我向 http://server/tab1 发出请求时,我想接收 ["Page1", "Page 2"]

当我向 http://server/tab1/page1 发出请求时,我想接收 {title: "Page 1", description: "Description 1", data: {DATA FROM URL PROCESSED INTO JSON}}

哪个服务器端框架最适合这个?没有数据库,也没有更改 JSON 文件。 API 有 update/create 个请求,但中间件只会更改请求的格式并将其传递给旧的 API。我希望有朝一日扩展中间件 API 以完全替换旧的,所以我想要一个框架而不是自己编写它,因为以后框架会更容易。我从未使用过 REST API 框架,因此非常感谢任何见解。

您可以使用 Express 通过定义您需要的路由轻松实现这一点。

一种方法是在 Express 启动时加载 JSON 文件,并使用路由参数从 JSON 中动态获取您想要的片段。如果 JSON 很大,内存放不下,那么我会改用数据库。不过你说100多页好像不多

然后,在您的路由处理程序中,您将根据路由参数过滤 JSON 对象。例如:

app.get('/:tab/:subtab/:page/:resource/:etc', function(request, response, next) {
 var tab = request.params.tab;
 var page = request.params.page;

 // Write a filter() function that extract JSON using tab and page...
 var json = filter(tab, page); 
 return response.send(json);
});

这是快速路由指南:
http://expressjs.com/guide/routing.html