任何人都可以輕鬆地從現有的數據源(RDB/NoSQL/REST API)構建GraphQL API:StepZen 的應用方法
首先
在本文中,我们将介绍 StepZen 的基本使用方法,该方法将多个现有数据源集成为一个 GraphQL API。官方文档提供了详细信息,但其中部分内容可能不太清晰,因此我们将对其进行整理和解释。有关详细信息,请查阅官方文档(StepZen 产品文档)。

StepZen 是一个什么东西?
这是一个具有简单且宣言性的高性能的托管服务,可以将现有的数据源(包括关系型数据库、NoSQL数据库、REST API等)转换为GraphQL API。
在公式文件(StepZen)中包含了以下内容。
GraphQL作为服务:更快地构建GraphQL,更好地运行和无缝扩展。
轻松构建GraphQL
自动优化和扩展GraphQL
作为数据联合访问的唯一声明性方法

因为仅仅通过上述说明很难想象,所以下面将进一步解释与其他服务的差异、组成要素和使用方法。
与其他服务的不同
StepZen 史帝宾
StepZen 将多个现有数据源(如 REST API 和数据库)整合到一个 GraphQL API 中。这样一来,可以简化复杂的后端逻辑,并提高前端开发的效率。
阿波罗GraphOS
Apollo GraphOS支持构建GraphQL联邦,将不同的GraphQL服务统一为一个API。每个服务独立演进的同时,可以在前端视为一个API。
这次我们把开源软件Apollo库和付费服务Apollo GraphOS进行了比较,没有将Apollo库作为对比对象。
亚马逊云服务AppSync
AWS AppSync是一种构建GraphQL服务器的服务,它与AWS的各种服务紧密集成,提供实时数据同步和离线用户支持等高级功能。
Hasura
HASURA通过直观的图形用户界面,从数据库模式出发,快速构建高性能的GraphQL API。还提供实时数据同步和高级权限管理等高级功能。
StepZen的组成要素
StepZen的主要構成元素包括以下三個。
1. StepZen GraphQL 服务器
用于将现有数据源转换为GraphQL的服务器。根据配置文件与数据源进行协作,提供GraphQL API。

2. StepZen 仪表板
用于管理和运营 API 的仪表盘。可以查看 API 的调用次数和响应时间,有助于制定运营计划。

3. StepZen命令行界面
用于通过命令行操作StepZen的工具。可以生成配置文件并进行部署。可通过npm install -g stepzen进行安装。

StepZen的基本设定

1. 生成配置文件
使用StepZen CLI,根据现有的数据资源生成配置文件。该配置文件包含与数据源的连接信息和GraphQL模式。根据需要修改生成的index.graphql以自定义API。
2. 部署
使用StepZen CLI根据配置文件来部署StepZen GraphQL服务器,从而将多种数据源作为一个GraphQL API提供。
3. 运用
通过使用StepZen仪表板,可以查看API的运行状况。可以获得有关API性能的信息,如调用次数和响应时间,以维护和改进API的性能。
StepZen的应用
通过StepZen定义的以下GraphQL指令,可以通过修改配置文件(index.graphql)来对API进行定制化。
@sdl:複数の.graphql ファイルを統合して、大規模な GraphQL API を構築することが可能となります。これにより、複数の開発者がそれぞれの領域に集中して作業することができます。
@dbquery:このディレクティブを使用すると、SQL 文を直接記述して詳細なデータの取得や操作を行うことができます。これにより、複雑なクエリやデータ操作が可能となります。
@materializer:このディレクティブを使うことで、データを階層化して扱うことができます。これにより、複雑なデータ構造を簡単に表現することができます。
请参考官方文档(GraphQL Directives Reference @rest @dbquery @graphql @materializer),因为还有其他各种GraphQL指令可用。
最后
本文介绍了StepZen的基本用法和高级用法。StepZen通过将现有的数据资源整合为一个GraphQL API,极大地提高了前端开发效率。除了基本用法外,还可以通过使用@materializer、@dbquery、@sdl等高级指令来构建更灵活、更强大的API。
通过按照公式文档进行实际操作,您将可以获得更深入的理解。如果能熟练掌握这些功能,通过StepZen管理数据将更加容易。我们建议您首先从小规模的项目开始尝试。