Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for generating http clients for different programming languages #9

Open
10 tasks
transitive-bullshit opened this issue Apr 8, 2019 · 1 comment
Labels
enhancement New feature or request

Comments

@transitive-bullshit
Copy link
Owner

transitive-bullshit commented Apr 8, 2019

With the strong typing info we have from an FTS Definition, we can generate type-safe client SDKs for different programming languages such as Java, Python, Objective-C, etc.

This would make consuming FTS services much easier and more portable as opposed to relying on the HTTP REST endpoints directly.

Quicktype may be useful for transforming the FTS JSON Schema into a variety of different languages.

Specifically, for a given target language, this functionality should take in one or more FTS Definitions as well as their respective HTTP endpoints and generate a minimal, syntactically correct wrapper.

Ideally this wrapper is a single file, but some languages may require additional plumbing (such as a Node.js package.json).

Target languages (ordered from highest priority to lowest)

  • TypeScript
  • JavaScript
  • Python
  • Java
  • C#
  • Ruby
  • PHP
  • Swift
  • Rust
  • Objective-C

This will be used directly by fin but may be useful to other developers interested in the FTS standard.

@transitive-bullshit transitive-bullshit changed the title Add support for generating Add support for generating http clients in different programming languages Apr 8, 2019
@transitive-bullshit transitive-bullshit changed the title Add support for generating http clients in different programming languages Add support for generating http clients for different programming languages Apr 8, 2019
@transitive-bullshit transitive-bullshit added the enhancement New feature or request label Apr 8, 2019
@transitive-bullshit
Copy link
Owner Author

It'll be easier to first solve #13 and then use the OpenAPI schema and swagger-codegen to generate all client SDKs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant