strongloop/loopback - 维护 API 的多个版本
strongloop/loopback - Maintain multiple versions of API
我是第一次使用 strongloop/loopback。有一些基本说明 online 用于版本控制 API:
var p = require('../package.json');
var version = p.version.split('.').shift();
module.exports = {
restApiRoot: '/api' + (version > 0 ? '/v' + version : ''),
host: process.env.HOST || 'localhost',
port: process.env.PORT || 3000
};
我没有看到的是维护 API 的多个版本的推荐方法。因此,例如,我可以同时拥有旧版 1.4 和新版 2.0 运行。有这样做的最佳实践吗?
编辑: 我接受了@Overdrivr 的回答,因为它在撰写本文时是准确的。但是,有一个关于此功能的 open issue on Github 用户计划提交 PR。希望此功能将在未来的迭代中添加。
您将需要 运行 两台环回服务器,一台 运行ning 1.4,另一台 2.0。例如,让一个监听端口 3000,另一个监听 3001。
然后你可以使用nginx作为反向代理。
nginx 将侦听端口 80 或 443(http 或 https),您的客户端将到达的端口。
最后,告诉 nginx 将匹配 /api/v1.4/
的请求重新路由到服务器 1.4,将 /api/v2/
匹配到另一个。
我是第一次使用 strongloop/loopback。有一些基本说明 online 用于版本控制 API:
var p = require('../package.json');
var version = p.version.split('.').shift();
module.exports = {
restApiRoot: '/api' + (version > 0 ? '/v' + version : ''),
host: process.env.HOST || 'localhost',
port: process.env.PORT || 3000
};
我没有看到的是维护 API 的多个版本的推荐方法。因此,例如,我可以同时拥有旧版 1.4 和新版 2.0 运行。有这样做的最佳实践吗?
编辑: 我接受了@Overdrivr 的回答,因为它在撰写本文时是准确的。但是,有一个关于此功能的 open issue on Github 用户计划提交 PR。希望此功能将在未来的迭代中添加。
您将需要 运行 两台环回服务器,一台 运行ning 1.4,另一台 2.0。例如,让一个监听端口 3000,另一个监听 3001。
然后你可以使用nginx作为反向代理。
nginx 将侦听端口 80 或 443(http 或 https),您的客户端将到达的端口。
最后,告诉 nginx 将匹配 /api/v1.4/
的请求重新路由到服务器 1.4,将 /api/v2/
匹配到另一个。