Cloud Computing

Hello, OpenAPI-to-GraphQL 1.0.0

Share this post:

GraphQL

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.

We are excited about the future of OpenAPI-to-GraphQL! As always, feel free to reach out to us on Twitter or open an issue.

The OpenAPI Specification and GraphQL Specification are Linux Foundation Collaborative Projects and copyright of The Linux Foundation. 

Software Engineer, IBM Research

More Cloud Computing stories

Women in IBM Research progressing cloud computing from all angles

This month, we are highlighting the work of women researchers at IBM who are pushing the frontiers of hybrid cloud technology. Each of them showcase the tremendous breadth of expertise, and the depth of research, that goes into building this next generation of computing.

Continue reading

Bringing AI to the Command Line

For decades, developers and researchers have been using the command line interface (CLI) to build, execute, and deploy the software that runs the world around us. Users have come to love, hate and, eventually, embrace the unique, idiosyncratic, and sometimes antiquated challenges associated with using the terminal shell; and have adapted their behaviors and usage […]

Continue reading