A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
This work addresses the costly migration from REST to GraphQL for developers by providing a tool to reduce friction during API transformation, though it is incremental as it builds on existing translation approaches.
The authors tackled the problem of migrating REST APIs to GraphQL by identifying schema translation challenges, such as less expressive types and missing resource links in OpenAPI, and developed a Link Generator tool that automatically adds links to improve translation utility, benefiting around 34% of APIs in the APIs.guru directory.
Standardized interfaces are the connecting link of today's distributed systems, facilitating access to data services in the cloud. REST APIs have been prevalent over the last years, despite several issues like over- and underfetching of resources. GraphQL enjoys rapid adoption, resolving these problems by using statically typed queries. However, the redevelopment of services to the new paradigm is costly. Therefore, several approaches for the successive migration from REST to GraphQL have been proposed, many leveraging OpenAPI service descriptions. In this article, we present the findings of our empirical evaluation on the APIs.guru directory and identify several schema translation challenges. These include less expressive schema types in GraphQL, as well as missing meta information about related resources in OpenAPI. To this end, we developed the open source Link Generator, that analyzes OpenAPI documents and automatically adds links to increase translation utility. This fundamentally benefits around 34% of APIs in the APIs.guru directory. Our findings and tool support contribute to the ongoing discussion about the migration of REST APIs to GraphQL, and provide developers with valuable insights into common pitfalls, to reduce friction during API transformation.