Strongloop/loopback - 维护多个版本的 API

2024-02-06

我是第一次使用strongloop/loopback。有一些基本的指导online https://docs.strongloop.com/display/public/LB/Versioning+your+API用于 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 版本。这样做有最佳实践吗?

Edit:我已接受@Overdrivr 的回答,因为它在撰写本文时是准确的。然而,有一个Github 上的开放问题 https://github.com/strongloop/loopback/issues/2483与计划提交 PR 的用户讨论此功能。希望此功能将在未来的迭代中添加。


您需要运行两台环回服务器,一台运行 1.4,另一台运行 2.0。例如,让一个监听端口 3000,另一个监听端口 3001。

然后你可以使用nginx作为反向代理。

nginx 将监听端口 80 或 443(http 或 https),这是您的客户端将到达的端口。 最后,告诉nginx重新路由匹配的请求/api/v1.4/到服务器 1.4 和/api/v2/到另一个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Strongloop/loopback - 维护多个版本的 API 的相关文章

  • 使用 StrongLoop 的“slc run”和“node app.js”有什么不同

    我正在阅读 StrongLoop 的入门说明并创建我的示例应用程序 虽然说明告诉我使用 slc run 要启动我的应用程序 我注意到我同样可以使用以下命令运行我的应用程序 节点应用程序 js 并得到相同的结果 显然 通过使用第二种方法 我可
  • 环回模型中的动态属性或聚合函数

    我将如何在环回模型中使用聚合函数 如果我有一个由 mysql 数据库支持的模型 我是否可以让 Model1 与 Model2 具有 hasMany 关系 具有给定的数字属性 并在 Model1 中拥有一个从 Model2 获取该字段的 SU
  • Loopbackjs:将模型附加到不同的数据源

    我已经为我的环境定义了几个使用数据源 db mysql 的模型 有没有办法将多个数据源附加到这些模型 以便我能够对不同的数据库执行 REST 操作 IE 获取 api Things ds db GET api Things ds anoth
  • 使用包含过滤器在环回中连接两个模型

    我有两个模型 Purchase 和 Products productId 对于这两个模型来说是通用的 我需要从产品模型中找到purchaseId 的productDetails 因此 我在购买模型中创建了一个自定义端点 称为 getProd
  • 在loopback.io中进行连接查询

    我正在尝试使用 Loopback io 构建一个简单的应用程序作为我的学习过程 我已经设置了项目 创建的模型和 API 工作正常 现在我正在尝试创建一个自定义 api 它可以通过进行联接查询从两个不同的模型获取数据 所以我有两个模型 sto
  • 在登录时从 Azure Active Directory 生成环回用户(反应本机应用程序)的最佳实践是什么?

    我有一个带有expo sdk的react native应用程序 使用loopback 3作为我的后端 我试图向其中添加Azure Active Directory授权和身份验证 以便我的用户可以使用他们的工作电子邮件和密码登录 我正在考虑如
  • ElasticSearch 的环回连接器

    npm 上至少有两个不同的包可用 环回连接器弹性搜索 https www npmjs com package loopback connector elastic search and 环回连接器 es https www npmjs co
  • 为什么节点需要缓存被填满并泄漏

    我正在对使用 Babel 转译的环回 API 进行压力测试 然而 在这些较长的 冒烟 测试中 我们看到堆分析中的 require 缓存变得相当大 高达 1GB 并且没有获得 GCd 我知道 require 缓存在最后一个引用被删除之前不会进
  • 如何让 slc 命令在 Ubuntu 上运行?

    我已经使用安装了 Strongloopnpm install g strongloop在我的 Ubuntu 14 04 服务器上 这slc命令不起作用 它说 The program slc is currently not installe
  • NodeJS 如何将 JS 文件导入 TypeScript

    我是 TypeScript 新手 我目前正在学习 NodeJS环回4使用 Typescript 语言的框架 我的问题是如何将 JS 文件中导出的一些函数 类导入到我的 TS 文件中 经过多种方式搜索后 但它仍然不适合我 这是例子 src i
  • 如何覆盖默认的密码哈希方法和环回验证方法?

    我对 Loopback 非常陌生 我想将 Loopback 的默认密码哈希方法覆盖为当前在我的后端使用的方法 以便我可以将此应用程序与该数据库同步 我读了这个链接https groups google com forum topic loo
  • 环回 - 包括关系的计算属性

    我有一个环回应用程序 我希望能够在 API 调用中包含关系的计算属性 例如 假设我有一个apartment模型和一个address模型 这address有属性city and state 我想向公寓模型打一个电话 并将城市和州作为相关信息中
  • MongoError:不允许用户执行操作

    我使用 MongoDB Atlas 作为我的数据库 我使用 angular4 和环回作为 api 我的应用程序可以正常连接到我的数据库 但是 当我尝试获取数据时 出现此错误 我已将我的 dbname 替换为 dbname MongoErro
  • Loopback.io 的 ACL 问题

    我目前正在评估用于开发新项目的 API 部分的 Loopback io 但在设置正确的 ACL 条目时遇到问题 我希望完成的是给定一个身份验证令牌 GET 端点应该只返回用户拥有的对象 例如 对 Shows access token xxx
  • 在上传之前使用环回组件存储中的远程挂钩重命名文件

    在上传到环回组件存储之前 我很难重命名文件 看起来 环回并没有提供相同的内置选项 对于从角度形式上传 我使用了角度上传器 beforeupload 方法来使用以下方法更改文件名 this fileExtension item file na
  • 错误:“主机标识符中存在双冒号”

    我正在尝试连接到我在 MLab 托管的数据库 我正在使用 StrongLoop API 我已将托管数据库的配置信息放入 datasources json 和 config json 文件中 但每当我使用以下命令运行目录时npm start
  • 如何在 Loopback 4 中使用有状态请求?

    在 v3 中 我们可以在底层 Express 上定义中间件 例如快速会话 https github com expressjs session 添加一个session请求对象上的属性 在 v4 中 看起来没有对应的东西 并且底层的 Expr
  • Strongloop 环回 如何使用路由进行静态服务?

    我想做类似的事情 server js app use client loopback static dirname client using middleware json 但该示例仅适用于根 files loopback static p
  • 如何替换 slc 环回生成的 Web 应用程序中的默认图标?

    我已经使用 slc 环回命令生成了一个应用程序 所以生成的express webapp有它的strongloop favicon 如何更改图标 我在 server js 中使用它 app use loopback favicon path
  • 如何在 Strongloop 环回脚手架项目中覆盖基本用户?

    给定一个使用以下命令创建的全新项目 slc lb project myapp 我该如何更换 user 模型中models json带有 customer 模型放置在 models目录 客户应该有登录 注销等方法 并且 用户 不应该作为 AP

随机推荐