只需三步即可透过 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 有更多元的方式被业务使用。

相关推荐
朦胧之1 天前
AI 编程-老项目改造篇
java·前端·后端
swipe1 天前
从 0 到 1 实现大文件上传:分片、秒传、断点续传、暂停、重试与服务端合并
前端·javascript·面试
爱勇宝1 天前
我做了一个只用来搜歌词的小 App
android·前端·后端
甲维斯1 天前
用AI还原《坦克大战》并3D化升级!
前端·人工智能·游戏开发
IT_陈寒1 天前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
kyriewen1 天前
AI 生成的代码能跑就行?这 5 个坑迟早炸
前端·javascript·ai编程
谷子在生长1 天前
纯血鸿蒙自定义弹窗最佳实践:从「到处复制」到「一行调用」
前端·harmonyos
壹方秘境1 天前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
神秘面具男1 天前
HarmonyOS 6.0跨端远程控制
前端·后端
枫树下x1 天前
NestJS基础框架
前端