Share this post:
In September 2018, we open-sourced OASGraph, a library to auto-generate GraphQL wrappers for existing REST(-like) APIs. In contrast to other libraries, OASGraph is data-centric, understands swaggers and Open API Specification (OpenAPI 3.0.0) files, sanitizes / de-sanitizes parts of REST APIs not compatible with GraphQL, and makes use of OpenAPI 3.0.0 features like links to generate more usable GraphQL interfaces. Since the release, we received and fixed numerous issues and pull requests, and learned about use-cases both within IBM and externally. We also wrote a paper in which we showed how we outperform the existing alternative and performed more effectively in the face of partially valid input specifications.
Today, we are happy to announce the next chapter of our library
For starters, we renamed OASGraph to OpenAPI-to-GraphQL. The main reason for this change is that OASGraph was perceived by many as a cryptic name, plus it’s a bit hard to pronounce. The new name clearly indicates what our library does. Furthermore, it is in line with many other libraries that follow the x-to-y naming convention.
Next, we move OpenAPI-to-GraphQL to the general IBM GitHub. Our previous home, the StrongLoop organization, has been a great partner and its community has embraced OASGraph when building OpenAPIs with Loopback and exposing a GraphQL interface. We will continue to work with StrongLoop, but we want to remove the confusion that some (prospective) users had of LoopBack being a requirement for OpenAPI-to-GraphQL, which is not the case. We hope that belonging to the IBM Open Source Community makes it clear that OpenAPI-to-GraphQL can be used as a stand-alone tool, if desired.
Finally, we recently released version 1.0.0 of OpenAPI-to-GraphQL. We believe this switch to a first major version adequately reflects the extensive feedback we received on our code and the improvements that both we and the community made to it. The switch to this new version will also enable us to adhere to proper semantic versioning from now on. Finally, the new version introduces a number of exciting new features, like support for inputting multiple OpenAPIs and linking between them, exposing request options to users, or enabling custom resolver function implementations. See the release notes for more details, and this new video.
The OpenAPI Specification and GraphQL Specification are Linux Foundation Collaborative Projects and copyright of The Linux Foundation.