Reactjs客户端用于Swagger / OpenAPI API规范

时间:2017-05-18 14:57:03

标签: reactjs typescript swagger flowtype swagger-codegen

背景

使用Swagger Editor,我为我的API创建了一个规范。 我看到Swagger还在他们的Swagger编辑器中提供了“生成客户端”选项(可能使用Swagger Codegen)。

目的

我想生成一个客户端并在我的React应用程序中使用它(使用create-react-app创建),并且最好享受一些静态类型功能(目前使用flow)。

目前

Swagger编辑器中的所有选项似乎都不起作用:

  • javascript - 提供一个vanilla节点模块,您需要npm install它作为项目的依赖项。现在,不仅这个没有任何类/类型,而且还失败了: Uncaught Error: Cannot find module "ApiClient" at webpackMissingModule (index.js:17) at exports.ApiClient (index.js:17) at Object.<anonymous> (index.js:22) at __webpack_require__ (bootstrap 75f547b…:555) at fn (bootstrap 75f547b…:86) at new Index (index.js:87) at ReactCompositeComponent.js:295 at measureLifeCyclePerf (ReactCompositeComponent.js:75) at ReactCompositeComponentWrapper._constructComponentWithoutOwner (ReactCompositeComponent.js:294) at ReactCompositeComponentWrapper._constructComponent (ReactCompositeComponent.js:280)
  • typescript-*选项与js不兼容,我没有必要知道如何/想要将TypeScript添加到我的项目中。
  • *-angular选项当然无关紧要。

途径

  • 生成.ts文件并将其转换为flow。如何??
  • 将生成的.js文件手动添加到我的项目中。目前无法正常工作,因为生成的代码带有自己的依赖项。
  • 将TypeScript添加到我的项目中(我应该替换flow吗?)。如何??

由于

1 个答案:

答案 0 :(得分:0)

有一个简单的解决方案,直到生成器退出使用动态实现,例如swagger-js