swagger api 转graphql npm 包试用】的更多相关文章

graphql 比较方便的进行api 的查询,操作,swagger 是一个方便的open api 描述标准,当前我们有比较多的 restapi 但是转换为graphql 是有成本的,还好swagger-to-graphql 这个npm 包帮助我们简化了操作 基本项目 具体项目参考 https://github.com/rongfengliang/swagger-to-graphql-docker 项目结构 ├── Dockerfile ├── README.md ├── api │ └── s.…
原理 实际上就是使用graphql 中的binding,首先基于swagger api 进行schema 生成,后边就是 使用binding 进行graphql 请求api 转换为rest api 请求,目前测试过两个开源的方案: prisma 的graphql-openapi-binding 以及swagger-graphql 类库 步骤 swagger 模型生成graphql schema 使用cli 工具 swagger-to-graphql npm install -g swagger-…
使用 js 和 Beacon API 实现一个简易版的前端埋点监控 npm 包 前端监控,埋点,数据收集,性能监控 Beacon API https://caniuse.com/beacon 优点,请求发送是非阻塞的 post ,用户体验好:支持多种数据格式: 缺点,IE 不支持,使用 XHR 作为 fallback 方案 "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqfrms * @creat…
原理很简单,就是使用swagger api 生成schema 然后代理请求处理api 调用 参考项目 https://github.com/rongfengliang/streamsets-graphql-api streamsets restapi 使用的npm 包 package.json: { "name": "restapi", "version": "1.0.0", "main": "i…
graphql 是很方便的api 查询语言,elasticsearch 可以方便的进行全文检索的应用开发 有一个方便的npm 包graphql-compose-elasticsearch 可以进行es 的查询 测试使用docker 运行,参考代码https://github.com/rongfengliang/graphql-elasticsearch-demo 环境准备 docker-compose 文件 version: "3" services: es: image: elast…
swagger,一款api测试工具,详细介绍参考官网:http://swagger.io/ ,这里主要记录下怎么将swagger api应用到我们的node服务中: 1.任意新建node api项目,使用npm init即可 2.安装依赖: cnpm i express body-parser --save 其中express作为api框架,当然你也可以使用其它的,比如thinkjs.koa.koahub.阿里的egg等等(框架只是一种工具),body-parser用来解析json格式的请求.…
前言 从去年年初开始,自己便下决心要写一个vue系列的博客,但时至今日,才写系列的第三篇博客,想来甚是惭愧. 但是慢归慢,每一篇都要保证质量,以及要写出自己的心路历程,防止自己工作中填的坑再让读者走一遍. vue上手相对react来说是比较简单的,对于vue的基本指令以及语法,应该没有什么能比官网更详细,更生动的了.仔细想来,vue值得一说的,在项目中会让新手感到困惑的,是vue的组件,今天就最近工作中用到的一个pdf查看组件,和大家聊聊vue的组件.最后会讲如何将自己的代码封装成一个npm包,…
介绍         Swagger API框架,用于管理项目中API接口,属当前最流行的API接口管理工具. Swagger功能强大,UI界面漂亮,支持在线测试等!         Swagger包括库.编辑器.代码生成器等很多部分,Swagger UI是一个API在线文档查看和测试的利器,Swagger Editor主要是编写api接口文档,但需要配合Swagger UI来展示,使用yaml编写.         国内开发者也有提供一整套开源的解决方案sosoapi,基于swagger的实现…
此文已由作者吴维伟授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在编写程序时,总会有一些代码是我们不愿意一遍又一遍重复地去写的,比如一些UI或交互相似组件,或是一些相似的流程或逻辑.以前,面对这样的情况,我会将可以复用的部分抽象出来,做成可以复用的模块,放在专门存放公用模块的文件夹中,便于查找和引用.但是这样只能解决单个项目中公用模块复用的问题,如果你的模块需要被多个项目复用,那么就需要另寻它法了.本文讨论的是通过发布npm包来实现模块复用时有哪些注意事项. 新建一个…
npm包的更新说明,你还敢不看吗 前言 平时工作少不了依赖一些第三方的npm包,站在各位大牛的肩膀上来更好的写bug,此外还可以学习各位大佬们的各种设计思路和优雅实现.不过npm包虽好,但使用之前也要多加甄别,特别是相同包的不同版本之间的差别,可能一不小心,原本用的飞起的轮子就会让我们笑不出来.下面用两次惨痛的线上问题来给大家提个醒. 版本依赖符号 在描述问题之前,先谈一下npm的包管理控制. 假设我们依赖一个npm包 a 常见的依赖符号有下面这么几种 { "dependencies"…
一.copy-to-clipboard 官方定义: Simple module exposing copy function 理解: 一个超级简单的复制功能,并且这种方法适用于通过别的事件触发复制功能 什么意思呢?比如:我想设计一个在Select选择项改变的时候复制该选择项,这时候一般无法插入组件(等会会介绍一个react复制组件的npm),这时候用copy-to-clipboard就非常合适. 当然为了简单而使用也是非常合理的 用法 import copy from 'copy-to-clip…
事情是这样的: 因为我经常会写一些npm包,但是有时候我写完一个包,npm publish 的时候却被提示说包名字被占用了,要不就改名字,要不就加scope,很无奈.npm 命令行可以通过 npm view 的方式去得知一个包是否存在,但是无法批量得知,所以就想着写一个工具来批量选名:) 本教程的相关代码已经全上传到github: 源代码 NPM方式 在写工具之前,我们先看看怎么通过 npm 提供的命令来得知包名是否被占用. npm view 通过 npm view -h 我们可以得知其用法:…
创建自己的模块组件 1. ng new 一个工程 2. ng g m 创建模块 例如我这里的modules文件下创建header模块 3. ng g c modules/head 创建一个hear组件,内容随意 4. 将modules模块exports出去,让其他模块可以使用 5. 做个测试在app模块中引入modules模块,并使用header组件 发布前的准备 1.   安装ng-packagr 并在devDependency中声明 npm install ng-packagr --save…
swagger & api swagger ui # run server $ swagger project start api-app # call api $ curl http://127.0.0.1:8080/hello?name=xgqfrms # { "message": "Hello, xgqfrms!" } # http://localhost:8080/users # install CLI $ npm i -g swagger # cr…
接口文档是前后端开发对接时很重要的一个组件.手动编写接口文档既费时,又存在文档不能随代码及时更新的问题,因此产生了像swagger这样的自动生成接口文档的框架.swagger文档一般是随项目代码生成与更新,访问地址也是基于项目地址,因此对项目数不多的团队还好.如果团队的项目很多,比如采用微服务架构的团队,动则几十甚至上百个服务项目,那就意味着前端开发人员需要记住几十甚至上百个swagger文档地址,那就很不友好了.目前貌似还没有较流行的API文档集中化管理项目(也或者是我没找到),因此花了点时间…
plv8 是一个很强大的pg 扩展插件,我们可以直接额使用js 增强sql ,shortid 是一个用来生成短连接id 很方便的类库 因为shortid 是一个npm 模块,我们需要使用一种方法使用require 的方式引用包,这个我们可以通过 plv8 node 模块解决 以下是一个简单的demo 使用plv8 node 模块注册shortid 原理 使用plv8 node 模块主要是方便快速的生成plv8 pg 插件可使用的npm 包(包含依赖的处理,基于browserify的处理) 原理实…
Swagger API文档集中化注册管理   接口文档是前后端开发对接时很重要的一个组件.手动编写接口文档既费时,又存在文档不能随代码及时更新的问题,因此产生了像swagger这样的自动生成接口文档的框架.swagger文档一般是随项目代码生成与更新,访问地址也是基于项目地址,因此对项目数不多的团队还好.如果团队的项目很多,比如采用微服务架构的团队,动则几十甚至上百个服务项目,那就意味着前端开发人员需要记住几十甚至上百个swagger文档地址,那就很不友好了.目前貌似还没有较流行的API文档集中…
前言 一个好的可持续交付的项目,项目说明,和接口文档是必不可少的,swagger api 就可以帮我们很容易自动生成api 文档,不需要单独额外的去写,无侵入式,方便快捷大大减少前后端的沟通方便查找和测试接口提高团队的开发效率方便新人了解项目,剩余的时间就可以去约妹子啦 整合swagger api 这里我们自己去整合swagger api比较麻烦,要导入好几个包,有大神帮我们写好了轮子kinfe4j直接对应SpringBoot的启动项,而且在不影响原来使用功能上界面ui做了美化功能做了增强 我们…
目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安装NPM包有两种方式:线上与线下 线上 1. 连接官方源 下载npm管理工具后,默认是连接到官方的源,命令 npm config ls -l 或 npm config get registry 可查看相关的源 使用类似 npm install request 就可以安装某个包,更多命令可使用 npm…
4.1 核心模块与文件模块 / 574.2 从模块外部访问模块内的成员 / 58 4.2.1 使用exports对象 / 58 4.2.2 将模块定义为类 / 58 4.2.3 为模块类定义类变量或类函数 / 614.3 组织与管理模块 / 61 4.3.1 从node_modules目录中加载模块 / 61 4.3.2 使用目录来管理模块 / 62 4.3.3 从全局目录中加载模块 / 624.4 模块对象的属性 / 634.5 包与npm包管理工具 / 65 4.5.1 Node.js中的包…
概述 为什么开发npm包? 如何开发? 如何写单元测试? package.json 如何发布模块? 如何使用? 为什么开发npm模块? NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. npm官网 如何开发? 接下来由带领大家完成一个简单的npm包,功能:读写文件 是不是很复杂呢??? npm init 创建基础目录或文件 mkdir tests lib touch index.js README.md…
1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm npm login 验证登录是否成功 npm who am i 3.创建npm库 npm init 按照提示输入相应内容: 以下为package.json内容: { "name": "zgb_npm", "version": "1.0.0&qu…
1.安装sinopia包 npm install -g sinopia 如果是Windows系统用上面的方式安装sinopia很有可能报错,推荐使用下面方式安装: npm install sinopia --no-optional --no-shrinkwrap 在Windows下的依赖crypt3和FS-EXT可能无法编译和不可用.它们是可选的,不会影响Sinopia的使用.我们使用上面的安装方式 2.配置npm npm set registry http://localhost:4873/…
我们基于nodejs平台上面的npm上,可以随意下载很多npm安装包.那我们如何创建自己的npm包呢?很简单,废话少说,开始做~ 开始做之前nodejs默认是要安装的,怎么安装自行百度其他教程. 首先在npm网站上注册一个账号,这个账号之后会用到. npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 注册完毕,回到我们的电脑.Windows直接cmd到命令行: //输入以下命令,会提示输入用户名.密码.邮箱,…
关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记录关于如何发布npm包以及在这过程中出现的问题以及解决的方案. 因为官方的npm上的模块是完全开源,但是公司自己项目有些模块与业务或者逻辑以及一些配置模块肯定不能开源啊,所以需要搭建私有的npm仓库. 1.准备工作 首先安装好npm 以及 cnpm . 现在安装node.js 里会一起安装好npm.…
第三章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. npm包管理 什么是npm npm是随同NodeJS一起安装的包管理工具,只要安装了node,我们就可以通过命令行使用npm 启动命令行,运行 npm -v  就可以看到npm的版本号,根据安装的node版本不同,内部集成的npm页不同,只…
以markdown-clear,创建过程为例,讲解整个NPM包创建和发布流程 1 如何创建一个包 1.1 创建并使用一个工程 在GitHub上新建一个仓库,其名markdown-clear clone 这个工程到本地 1.2 添加LICENCE或LICENSE文件, 说明对应的开源协议 到SPDX License List 或者Open Source Initiative,下载相应协议的模板,我们这里选用MIT 修改必要的协议时间和作者 MIT License Copyright (c) <ye…
Node.js之包与npm包管理工具 1.Node.js中的包 1.1在一个包中包含如下内容: package.json:对包进行描述 在bin子目录中存放二进制文件 在lib子目录中存放JavaScript文件 在doc子文件中存放包的说明文件 在test子目录中存放一些对包进行单元测试的文件 1.2package.json文件内容: name:包名 preferglobal:是否支持全局安装,true:支持:false:不支持 description:包说明,对包进行简要说明 version…
原文链接:http://www.cnblogs.com/shuoer/p/7782125.html npm包管理器那些事! 今天和朋友针对npm包全局安装和本地项目安装这个梗展开的激烈的讨论,故此做一个总结! 什么是包管理器? 我最早接触这个概念的时候是在linux上(redhat小红帽),记得当时要编译安装一个apache,安装的过程坎坷到了极点,不是缺少这个包就是这个包依赖那个包,更有甚是你明明所有的包都有,唯独安装顺序颠倒了也会报错,所以当时接触了yum包管理器(神器啊)一条命令yum i…
关于npm包安装命令的介绍,如下图:…