6

我们目前正在将loopback3应用程序迁移到loopback4. 服务器的迁移很顺利,但是angular由于“sdk”,迁移客户端似乎成为一个问题。

因为loopback3我们使用@mean-expert/loopback-sdk-builderangular6+. 这个项目似乎已经结束生命并且与loopback4.

loopback3以这种方式为我们生成 sdk :

服务器的package.json:

"scripts": {
    "gen-sdk": "node ./node_modules/@mean-expert/loopback-sdk-builder/bin/lb-sdk src/server.js ../frontend/src/app/shared/sdk --wipe=enabled"
}

生成器启动服务器的副本,读取不同的内部元数据并将生成的文件写入客户端项目——据我所知,它没有使用swagger.jsonloopback3.

我们正在寻找与loopback4. 后端提供了一个openapi.json描述端点。

您在angular项目中使用哪个 sdk(最好用TypeScript. 是否有生成的代码最兼容的 sdk @mean-expert/loopback-sdk-builder

到目前为止,我找到并测试了以下项目以生成 openapi 客户端:

  • openapi 生成器
    • con : 是用Java编写的
    • con : 一直抛出 NullpointerExceptions (可能我们的 openapi.json 不正确,但是这个生成器没有提供有用的错误信息)
  • ng-openapi-gen
    • pro : 写在TypeScript
    • con:生成的操作名称真的很奇怪,也许只能与loopback4?
    • 缺点:这个项目似乎不是很活跃

angular您建议与loopback4休息后端交谈哪种设置?

4

1 回答 1

0

Loopback 4 项目通过其关于从 OpenAPI 规范构建 Angular 应用程序的文档解决了这个问题

步骤摘要如下:

  1. 在您的 Loopback 4 项目中,使用npm run openapi-spec生成 OpenAPI JSON 文件的命令从您的控制器生成 openapi-spec。
  2. 在您的 Angular 应用程序中,使用 ng-openapi-gen 包从上一步中的 OpenAPI JSON 文件生成 Angular API 存根。例如:

ng-openapi-gen --input <path-to-openapi-json> --output <angular-app-path>/src/app/api

该目录的内容<angular-app-path>/src/app/api包含要在 Angular 中使用的 API 模型。有关完整示例,请参阅他们的文档。

于 2021-06-15T17:18:55.683 回答