哪个 OpenAPI 客户端 sdk 用于环回4 和 angular?



我们目前正在将loopback3应用程序迁移到loopback4。 服务器的迁移是向前推进的,但由于"sdk",迁移angular客户端似乎成为一个问题。

对于loopback3,我们使用@mean-expert/loopback-sdk-builder为angular6+生成客户端sdk。该项目似乎已结束生命周期,与loopback4不兼容。

loopback3生成 sdk 就是这样为我们工作的:

服务器的包.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"
}

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

我们正在寻找与loopback4一起使用的替代 sdk。后端提供描述终结点的openapi.json

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

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

  • Openapi-generator
    • 缺点:是用Java编写的
    • con:一直抛出 NullpointerExceptions(也许我们的 openapi.json 不正确,但这个生成器没有提供有用的错误消息(
  • ng-openapi-gen
    • 优点:用TypeScript写的
    • 缺点:生成的操作名称确实是 strage,也许只能与loopback4结合使用?
    • 缺点:该项目似乎不是很活跃

您建议与loopback4rest 后端进行哪种angular设置?

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

步骤摘要如下:

  1. 在 Loopback 4 项目中,使用命令npm run openapi-spec从控制器生成 openapi-spec 以生成 OpenAPI JSON 文件。
  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 模型。有关完整示例,请参阅其文档。