Reactjs client for Swagger / OpenAPI API specification

强颜欢笑 提交于 2019-12-07 05:30:33

问题


Background

Using Swagger Editor, I created a spec for my API. I see that Swagger also provide a "Generate a client" option in their Swagger Editor (probably using Swagger Codegen).

Objective

I want to generate a client and use it in my React app (created with create-react-app), and preferably enjoy some static typing capabilities (currently using flow).

Currently

None of the options in Swagger Editor there seem to work:

  • javascript - provides a vanilla node module that you need to npm install it as a dependency to your project. Now, not only this doesn't have any classes / types, but also fails with: 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-* options are not compatible with js, and I don't necessarilty know how / want to add TypeScript to my project.
  • *-angular options are of course irrelevant.

Approaches

  • Generate .ts file and covert it to flow. How??
  • Manually adding the generated .js files to my project. Currently doesn't work as the generated code comes with its own dependencies.
  • Add TypeScript to my project (should I replace flow then?). How??

Thanks


回答1:


There is a simple solution until a generator is out to use dynamic implementation such as swagger-js



来源:https://stackoverflow.com/questions/44051247/reactjs-client-for-swagger-openapi-api-specification

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!