只需三步即可透过 DataWorks 数据服务建构 GraphQL 服务

前言

DataWorks 数据服务提供便捷的操作即可提供大数据 API,现在支持导出更完整的 API 文档 (基于 Open API v3),除了能导入到三方插件 (PostmanVSCodeSwaggerRedocIntelliJ IDEA 等),还能转成 GraphQL,本文将介绍如何将 DataWorks 数据服务 API 提供到 GraphQL 服务上。

第一步

首先先建立一个数据源并准备好数据,这边我们使用 Hologres 为例,并透过 HoloWeb 建立表与数据。

第一张表为 user 表:

image

第二张表为 salary 表:

image

第二步

DataWorks 管理中心添加此 Hologres 数据源,打开 DataWorks 数据服务建立两个 API。

第一个为查 User 的 API:

image

第二个为查 Salary 的 API:

image

将两个 API 测试提交并上线,于 API 管理页面将两个 API 导出文档。

image

这边我们勾上导出 APP Code,方便简化使用 GraphQL,到此我们就拿到导出的 API 文档 JSON。

image

第三步

安装 openapi-to-graphql-cli NPM 包。

注: open-api-to-graphql-cli 新版已移到 @graphql-mesh/cli 下,使用方式类似,可参考此文章

css 复制代码
npm i -g openapi-to-graphql-cli

透过 openapi-to-graphql 指令将 API 文档转译并启动 GraphQL 服务。

javascript 复制代码
openapi-to-graphql ~/Downloads/Export_Open_API_V3_xxx.json
image

打开http://localhost:3000/graphsql,开始使用 GraphQL。下图为透过一个 id 参数得到两个 API 的返回结果,可自行组织字段结构,类型定义都可以在右侧查看。

image

下图为动图:

image

点击界面上的 Prettify 按钮,即可于浏览器上取得带 GraphQL Query 的 URL,直接请求 URL 也可拿到结果。

image

将此步骤内容部署到阿里云函数计算,就能提供前端方便的 GraphQL 服务,如使用 RelayApollo 用户端来连接 GraphQL 服务。

小结

DataWorks 数据服务透出 API 文档除方便开发者本地查阅线上 API 的规格外,还可透过基于业界标准将 API 文档转化成 GraphQL 服务,让大数据 API 有更多元的方式被业务使用。

相关推荐
瑶琴AI前端28 分钟前
CSS实现文字颜色渐变
前端·css
檀玥1 小时前
创建react的脚手架
前端·javascript·react.js
ScriptEcho1 小时前
使用Rough.js库在画布上绘制一只毛毛虫
前端
前端阿森纳1 小时前
解决npm与yarn痛点:幽灵依赖与依赖分身
前端·架构·npm
u0104058361 小时前
实现Java Web应用的高性能负载均衡方案
java·前端·负载均衡
专注成就自我1 小时前
vue+openlayers之几何图形交互绘制基础与实践
前端·vue.js·交互
Loveistravelling1 小时前
arcgis实现在地图上自定义图标和3d文字展示
前端·gis
肖哥弹架构1 小时前
组合模式(Composite Pattern): 在线教育平台课程管理实战案例分析
前端·后端·程序员
HaSaKing_7211 小时前
Vue 父子页面使用指南
前端·javascript·vue.js
雾散声声慢1 小时前
从一个双非本学渣到自学前端上岸,我都做了些什么
前端