streamsets rest api 转换 graphql
原理很简单,就是使用swagger api 生成schema 然后代理请求处理api 调用
参考项目 https://github.com/rongfengliang/streamsets-graphql-api
streamsets restapi
使用的npm 包
package.json:{
"name": "restapi",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"babel-polyfill": "^6.26.0",
"compression": "^1.7.3",
"express": "^4.16.3",
"express-graphql": "^0.6.12",
"graphql": "^0.13.2",
"swagger-to-graphql": "^1.4.0"
},
"scripts": {
"start":"node app"
}
}
app.js
require('babel-polyfill');
const express = require('express');
const app = express();
const graphqlHTTP = require('express-graphql');
const graphQLSchema = require('./lib');
const compression = require('compression');
app.use(compression());// 修改为对应的server 用户以及地址
const proxyUrl = 'http://admin:admin@localhost:18630/rest';
const pathToSwaggerSchema = `${__dirname}/api/swagger.json`;
// 此处比较重要因为接口是gzip 可以进行内容协商,不使用gzip
const customHeaders = {
"accept-encoding": "identity"
};graphQLSchema(pathToSwaggerSchema, proxyUrl, customHeaders).then(schema => {
app.use('/graphql', graphqlHTTP(() => {
return {
schema,
graphiql: true
};
}));app.listen(3009, '0.0.0.0', () => {
console.info('http://localhost:3009/graphql');
});
}).catch(e => {
console.log(e);
});
效果
参考资料
https://github.com/rongfengliang/streamsets-graphql-api
streamsets rest api 转换 graphql相关推荐
- 给它一个REST:对您的API使用GraphQL
by David Celis 大卫·塞利斯(David Celis) 给它一个REST:对您的API使用GraphQL (Give it a REST: use GraphQL for your AP ...
- 如何基于已有的 REST API 实现 GraphQL API
这是「进击的Coder」的第 356 篇技术分享 作者:Tyler Hawkins 译者:samyu2000 校对者:PassionPenguin, k8scat 来源:掘金开发者社区 " ...
- 比较 REST、JSON:API 和 GraphQL
这篇算是翻译.摘录和转写,原文:Headless CMS: REST vs JSON:API vs GraphQL,是Drupal项目的创始人Dries Buytaert和他同事一起在2019初写的, ...
- 人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考
有一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考.首先,为什么写这个话题呢?其一,我阅读了<阿里研究员谷朴:API 设计最佳实践的思考>一文后受益良多,前两天并转载了这篇 ...
- java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...
我有一个数据库,用于存储日期和日期时间(分别为INTEGER和DOUBLE)作为已修改的儒略日数(MJD).修改后的儒略日数是自1858年11月17日午夜UTC以来连续的天数.根据定义,它们始终以UT ...
- 扬言要干掉 RESTful API 的 GraphQL 是什么鬼?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | toutiao.com/i6833818331 ...
- restful api 与 GraphQL 分析比较
背景 REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史.它的简单易用性,可扩展性,伸缩性受到广大Web开发 ...
- 使用jquery ajax jsop gpsspg api转换坐标
1.点击申请key:http://gpsspg.com/api/convert/latlng/ 2.jquery ajax jsop获取数据 $.ajax({ url:'http://api.gpss ...
- 基本操作:Go创建GraphQL API
女主宣言 越来越多的项目中都能看到GraphQL的身影,不知道大家在项目中有没有使用过GraphQL呢?今天给大家分享一下使用Go,来创建基础GraphQL API,供大家参考学习. PS:丰富的一线 ...
最新文章
- python写文件读文件-python(文件读写)
- 事件控制寄存器(AFIO_EVCR) (2011-09-09 13:51:58)
- c语言程序设计慕课版答案第6章,C语言程序设计答案黄保和编第6章函数.doc
- idea Maven图标的使用
- 如何优雅的在java中统计代码块耗时
- 推荐12个最好的 JavaScript 图形绘制库
- Spring中三种编程式事务的使用
- VMware克隆CentOS6.4后 eth0无法初始化
- TeamViewer(TV)锁屏后黑屏无法远程的解决方法
- WebStorm中文乱码解决代码
- LaTeX目录格式控制
- Maven环境变量配置-win10
- 电脑技巧:Win10电脑卡顿解决小技巧,非常实用
- 2021-06-17
- imdb导mysql_IMDB电影排行爬取分析
- 职业规划是什么?应该怎么回答?
- Execution failed for task ':app:processDebugResources'. No slave process to process jobs, aborting
- 【docker系列】docker深入浅出之安装教程
- 个人项目(二)-- 自助点餐系统
- 【karle 笔记】无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能。
热门文章
- vscode给java项目传递args[]参数
- TCP传输-出现差错的解决办法
- 51单片机的轮胎气压监测系统_SHT11传感器的温度、湿度采集系统,51单片机,Proteus仿真,C代码等...
- php签名墙代码,我们是一家人(签名墙)
- Java nio 学习笔记 相关知识
- 子类能否访问或覆盖父类的private方法
- 提高雅思听力速度必须反复练耳朵别无捷径
- 一行代码修改MarkdownPad2在Win10下实时预览字体太小
- SSIM(structural similarity index),结构相似性
- C++中多态性学习(上)