基于node.js构建微服务中的mock服务
缘起
由于现在微服务越来越火了,越来越多的微服务融入到了日常开发当中。在开发微服务的时候,经常会遇到一个问题由于依赖于其他服务,导致你的进度受到阻碍。使你不得不先mock出你期望调用依赖服务的输出,来继续迭代开发。大部分情况下我们写在我们自己的服务中,因为这样方便省事,但是随着需要mock的服务越来越多,会发现越来越难管理,开发重构成本变高,于是在此基础上封装了一个基于Node.js可以根据配置文件生成Mock服务。
缘生
为了方便添加和删除不同的mock服务,将所有的mock服务写入了配置文件,你可以根据你所定义的配置文件生成mock服务,如下所示:
{
'PATH':'./src/mocks',
'PORT':'9001',
"SERVICES":[
{
"name": "authorization",
"Handlers": [
{
"method": "GET",
"resHeader": "HTTP/1.1 200 OK",
"resContent": "{ succeed: true,msg: ok }"
},
{
"method": "POST",
"resHeader": "HTTP/1.1 200 OK",
"resContent": "{ succeed: true,msg: ok }"
},
{
"method": "GET--a=b.mock",
"resHeader": "HTTP/1.1 200 OK",
"resContent": "{ succeed: true,msg: ok }"
}
]
}
]
}
Options:
methodRequest MethodGET--a=b.mockRequest GET /hello?a=bresHeaderResponse HeaderresContentResponse Contentnpm run mockGenerate Mock Servernpm run cleanClean Mock Server
配置文件中的PATH是你存放的所有mock服务文件夹,填入请求的方式,以及期望的访问的HTTP状态和返回值。启动mock服务器,一个简单的mock服务就生成了。修改文件配置以后,可以清理生成的mock服务重新生成。
- 项目结构

- 启动截图

- 生成成功

- 清理截图

项目地址
基于node.js构建微服务中的mock服务的更多相关文章
- 基于Node.js的ghost开源博客平台
Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...
- 基于Node.js的实时推送 juggernaut
基于Node.js的实时推送 juggernaut Juggernaut 基于 Node.js 构建.为浏览器和服务器端提供一个实时的连接,可在客户端和服务器端进行数据的实时推送,适合多角色游戏.聊天 ...
- 使用 Node.js 搭建微服务网关
目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese
- 论Node在构建超媒体API中的作用
论Node在构建超媒体API中的作用 作者:chszs,转载需注明. 博客主页:http://blog.csdn.net/chszs 超媒体即Hypermedia,是一种採用非线性网状结构对块状多媒体 ...
- 基于Node.js的强大爬虫 能直接发布抓取的文章哦
基于Node.js的强大爬虫 能直接发布抓取的文章哦 基于Node.js的强大爬虫能直接发布抓取的文章哦!本爬虫源码基于WTFPL协议,感兴趣的小伙伴们可以参考一下 一.环境配置 1)搞一台服务器,什 ...
- 《基于Node.js实现简易聊天室系列之详细设计》
一个完整的项目基本分为三个部分:前端.后台和数据库.依照软件工程的理论知识,应该依次按照以下几个步骤:需求分析.概要设计.详细设计.编码.测试等.由于缺乏相关知识的储备,导致这个Demo系列的文章层次 ...
- Node.js构建可扩展的Web应用1
<Practical Node.js:Building Real-World Scalable Web Apps>[美]Azat Mardan(电子工业出版社) 安装node.js和NPM ...
- 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具
认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...
随机推荐
- How to: Installshield做安装包时如何添加文件
原文:How to: Installshield做安装包时如何添加文件 我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考 首先我想再 ...
- mongodb group包(最具体的、最受欢迎、最容易理解的解释)
和数据库一样group经常常使用于统计.MongoDB的group还有非常多限制,如:返回结果集不能超过16M, group操作不会处理超过10000个唯一键.好像还不能利用索引[不非常确定]. Gr ...
- HBuilder js 自定义代码块
=begin 本文档是HBuilder预置的js代码块的文件.注意不要把其他语言的设置放到js里来. 如果用户修改此文档,HBuilder升级后会覆盖用户的修改,建议进入菜单 工具→扩展代码块 扩展相 ...
- C#网络编程系列(两)它Socket同步TCPserver
声明原文 笔者:竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程系列文 ...
- jquery 移动端轮播图
<div class="slide"> <div class="slide-box"> <ul class="slide ...
- DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计?
DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计? 写在前面 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领域模型的 ...
- mysql 备份数据
想在mysql库中某些数据备份下来. 1,创建一个新表,我们应需要保持表的原有属性 CREATE TABLE A LIKE B 这种方式可以把主键和索引一起copy过来. 2,把需要数据copy到新表 ...
- iOS基础 - 多媒体
一.播放视频 iOS提供了叫做MPMoviePlayerController.MPMoviePlayerViewController的两个类,可以用来轻松播放视频 YouTobe就是用MPMovieP ...
- .Net 4.5 异步编程初试(async和await)
.Net 4.5 异步编程初试(async和await) 前言 最近自己在研究Asp.Net Web API.在看到通过客户端来调用Web API的时候,看到了其中的异步编程,由于自己之前没有接触过, ...
- mac 下nginx加入开机启动
通过brew install nginx后设置开机启动项 sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemonssudo launchc ...