6

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

mllm
  • 17,068
  • 15
  • 53
  • 64
  • 1
    For usage issue with the JS API client, please open an issue via https://github.com/swagger-api/swagger-codegen/issues/new so that the community can help on that. – William Cheng May 18 '17 at 16:35

1 Answers1

0

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

OBender
  • 2,492
  • 2
  • 20
  • 33