节点 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
我有一个用 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