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

相关推荐
洛小豆6 分钟前
Git 打标签完全指南:从本地创建到远端推送
前端·git·github
世间小小鱼14 分钟前
【爬坑指南】亚马逊文件中心 AWS S3 预签名URL 前端直传
前端·云计算·aws
华仔啊22 分钟前
前端登录token到底应该存在哪?LocalStorage、SessionStorage还是Cookie?一篇说透!
前端·javascript
BeefyBytes31 分钟前
动态组件库建设
前端
懒大王95271 小时前
uni-app + Vue3 开发展示 echarts 图表
前端·uni-app·echarts
yinuo1 小时前
Uni-App跨端实战:微信小程序WebView与H5通信全流程解析(01)
前端
xkroy1 小时前
ajax
前端·javascript·ajax
Yvonne爱编码1 小时前
AJAX入门-URL、参数查询、案例查询
前端·javascript·ajax
闲人编程1 小时前
前端形态与样式风格:从古典到现代的视觉语言演进
前端·css·状态模式·组件·js·风格·响应式
JudithHuang2 小时前
Mac版微信开发者工具登录二维码不显示问题解决方案
前端