DEV Community

Cover image for An Improved OpenAPI SDK Generator
Nolan Di Mare Sullivan
Nolan Di Mare Sullivan

Posted on

An Improved OpenAPI SDK Generator

What We’ve Built

We’re excited to publicly launch an SDK generator that improves upon the OpenAPI service. In our view the biggest problem with the OpenAPI generator was that it produced client libraries that were untyped and unopinionated. That’s why we focused on building a generator that is able to handle typing correctly and is opinionated about what makes for a good SDK:

  • Low-dependency - To try and keep the SDK isomorphic (i.e. available both for Browsers and Node.JS servers), we wrap axios, but that’s it.This is intended to be idiomatic typescript; very similar to code a human would write; with the caveat that the typing is only as strict as the OpenAPI specification.

  • Static Typing - At this point static typing is everywhere. So wherever possible, we generate typed structures, construct path variables automatically, pass through query parameters, and expose strictly typed input / output body types.

  • Language idiomatic & opinionated - There’s value in being neutral, but we felt like there is more value in being opinionated. We’ve made choices for how things like Pagination, Retries (Backoff/Jitter etc), Auth integrations, should be handled in the SDK.

Why We Think SDKs Are Important

A good developer experience means flattening the learning curve by meeting developers where they already; that’s why every company with an API platform should strive to offer SDKs for integrating with their APIs. Language-idiomatic SDKs improve user productivity by removing the need for writing the boilerplate required to send API requests and parse response objects. Companies that offer SDKs get faster adoption, spend less time troubleshooting, and provide an overall better developer experience.

We look forward to hearing from the community what they think of the service. We’d love to know what else people would want to see included in a generator. What other languages would people want to see supported?

Top comments (0)