OpenAPI-to-GraphQL

2020-11-01 11:19:36

许多组织在过去几年中构建了REST API,以提供对其业务资源的访问。客户端应用程序通常在这些资源中挑选,并关心它们之间的关系。GraphQL是构建下一代API的新兴技术。

GraphQL允许客户端编写精确控制要检索或更改哪些资源的查询,无论他们是希望只选择单个资源的一小部分还是要选择大量相关资源。因此,GraphQL在与API交互方面为客户端提供了前所未有的灵活性,而API提供者不必在每个客户端的基础上启用这种灵活性。

OpenAPI-to-GraphQL是一个库,可以帮助提供商利用现有的REST API来使用这项令人兴奋的新技术。OpenAPI-to-GraphQL将现有RESTAPI的Swagger或OpenAPI规范作为输入,自动生成GraphQL接口,该接口通过将客户端查询转换为REST API请求来解析客户端查询。这是开始使用GraphQL的最快方式,无需花费任何精力手动实现GraphQL API。OpenAPI-to-GraphQL解决了许多挑战,如清理数据以使用GraphQL或启用身份验证,同时还提供高级功能,如基于OpenAPI规范中的链接定义在单个REST API内甚至跨多个REST API启用深度嵌套查询。

到目前为止,我们已经添加了许多增强功能,包括安全性、更好的数据清理、错误报告、覆盖自动生成的解析器并提供自定义解析器的非常酷的功能,以及跨API创建GraphQL接口的多OAS支持。我们还有社区驱动的积压工作,如GraphQL订阅请求、更精细的身份验证模型和CLI增强功能。

我们知道OAS 3.0.0很丰富,但是我们还没有看到所有的用例。随着社区的试验和发现差距,我们欢迎他们为使OpenAPI-to-GraphQL更易用和更健壮所做的贡献。请打开问题,更好的是,我们欢迎为这些问题提供修复或新解决方案的拉取请求。

OpenAPI-to-GraphQL可帮助您利用企业中可用的REST API,并更快地构建移动和客户端应用程序。在几分钟内,您就可以使用有效的OAS创建一个GraphQL界面,并体验这项新技术。