streamsets rest api 转换 graphql
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杭电多校第十场 hdu6434 Coun
- 下一篇: 进程与线程理论基础