注:图片见压缩包中的word文档!
前端数据模拟工具V1.0(JOJO)
一、什么是JOJO
JOJO是一个简单的数据模拟服务器,可以模拟前端页面与后端数据交互的模拟,类似于MOCO,JOJO本身的开发灵感来自于MOCO框架,个人认为MOCO配置相对复杂,需要了解的东西比较多,现在基于MOCO的demo也比较少,而且不支持JSONP的形式!(我所需要的是对应的一个URI我能模拟一个我想要的响应数据这就满足我的要求了)这个基于Java开发的开源项目(支持桌面应用,支持配置文件路径切换和端口切换)!
二、为什么要开发这个工具!
集成,尤其是基于 HTTP 协议的集成——web service、REST 等,在我们的项目开发中被广泛应用。以前,我们每次都要往 Jetty ,JBOSS或 Tomcat 等应用服务器上部署一个新的 WAR。大家都知道,开发部署一个 WAR 的过程是很枯燥的,即使在嵌入式服务器上也是如此。而且,每次我们做一点改动,整个 WAR 都要重新组装。JOJO的出现,正是为了解决这些问题。开发团队只要根据自己的需要进行相应的配置,就会很方便得到一个模拟服务器。而且,由于 JOJO本身的灵活性,其用途已经不再局限于最初的集成测试,比如JOJO可以用于前端开发,JOJO 还可以用于移动开发,模拟尚未开发的服务;以及应用接入数据的模拟!模拟一个完整的 Web 服务器,等等!(对于前端开发的话,可能不需要有web容器的支持,由UED提供简单的DEMO文件夹,再通过接入后端服务将后端数据展示出最终渲染页面,从中就会遇到一些跨域的问题!如果纯粹只是为了这样一个目的解决跨域,因为MOCO中无法提供的JSONP支持,所以也就引燃了开发这个模拟工具的导火线!)
三、为什么叫工具而不是框架
个人认为只是一个工具!是不是框架不作讨论!
四、JOJO这个工具的使用
桌面版
适用于windows系统(经测试)
<!--[if !supportLists]-->1、 <!--[endif]-->先安装好jdk!
<!--[if !supportLists]-->2、 <!--[endif]-->启动服务界面:
直接双击启动或者命令行输入java -jar SimulateDataTool.jar 会出现如下界面:
(1)、工具
启动界面
<
工具说明
1、Config folder path:配置文件存放路径,默认为SimulateDataTool.jar所在文件夹位置!
2、Select Folder:选择配置文件存放路径!
3、Server IP…:服务器IP地址:配置必须为所在机器的IP或者为127.0.0.1,默认为127.0.0.1!
4、Server Port:服务器端口号!为未使用的端口号,默认为8888
5、Start Service:启动web监听服务
6、Stop Service:停止web监听服务
命令行版:
适用于windows系统和unix系统(经测试)
1、 安装好jdk!
2、 启动服务:
命令行输入java -jar SimulateDataTool.jar 127.0.0.1 8888 ,参数为必填项!参数1为监听服务器IP地址,参数2为监听服务器端口号
3、服务启动成功界面
配置文件的编写
1、 以Hello World 为例(对于程序员举例亘古不变的名词)
(1)、配置文件名称以.json结尾,服务启动的时候程序会扫描对应配置文件路径下的所有匹配*.json格式的文件,读取相关配置!
(2)、最基本的参数变量,格式以json格式提供:如:
{
"request":{ //request参数:请求配置参数
"method":"get",//请求方式 目前支持get post 默认为get
"type":"json",//请求类型 json(jsonp) text html 当请求为json或者jsonp的时候response返回的内容为{“key”:“value”}json格式,其中当为jsonp的时候会根据传入的hpjsonpcall或者jsonpcallback两个参数的存在于否生成jsonp对应的函数类似于jsonpcallback({“key”:”value”}); 当请求为text的时候response对应输出的是字符串,如”response”:”<h1>Hello World</h1>” 则最终web请求生成的页面内容为“<h1> Hello World</h1>”经过转义的内容; 当请求为html的时候response对应输出的是字符串,如”response”:”<h1>Hello World</h1>” 则最终web请求生成的页面内容为原样输出“<h1>Hello World</h1>”;若此type参数不作配置,则输出也为html! 默认为html
"uri":"/mobile/mobileOrder.do",//需要拦截响应的uri请求
"params":{"param1":"paramValue2","param2":"paramValue2"…} //request请求的参数,暂时对配置请求参数各web请求参数名称进行匹配,暂时不对参数值进行检验,如果名称不匹配则输出错误提示!默认为无参数
},
"response":””||{//response响应参数 由request中的type请求类型决定输出
"status":"success",//success 成功 ,fail 失败 ,login 需要登录 三种状态为标准定义,也可以由需求扩展定义,可以自由发挥
"msg":"Hello World", //成功或者失败返回的消息
"data":{} //其它需要返回的对象
…}
}
<1>、Demo1 最简配置
{"request":{
"uri":"/mobile/index.do"
},
"response":"Hello World"
}
<2>、Demo2 模拟手机充值返回订单信息
{"request":{
“method”:”post”,
"uri":"/mobile/index.do",
“params”:{“mobile”:”13816085314”,”confirm”:”13816085314”,”value”:”50.00”},
“type”:”json”
},
"response":{“status”:”success”,
”msg”:”订单信息获取成功!”,
”order”:{“orderId”:”111”,”orderDate”:”20140815104622”,”value”:”50”…}
“backends”:{“backendcode”:”ccb”,”backendName”:”建行支付方式”}
}
}
访问WEB服务
http://127.0.0.1:8888/mobile/mobileOrder.do?mobile=13816085314
协议://IP地址:商品号/uri?params
通过访问不同的URI得到不同的response结果
如:
Type为text
Type为json
Type为jsonp
Type为html
参数名称未匹配
Ngnix配置,模拟真实环境以及https的配置
在ngnix配置文件中增加配置:
1、增加模拟数据服务器的监听配置:
upstream simulateData{
server 127.0.0.1:8888;
}
2、 在80端口监听配置处增加对应应用的访问配置,模拟真实环境数据返回
Ngnix配置之后流程模拟
https的配置
ngnix中https 走443端口:
Ngnix配置之后的参数不匹配错误
相关推荐
标题“Jojo_0226.7z”暗示这是一个7z格式的压缩文件,其中可能包含一个或多个与“Jojo”相关的程序或数据。7z是一种高效的数据压缩格式,通常用于打包软件、游戏或其他文件集合,因为它能提供比ZIP更好的压缩率。 ...
这个压缩包文件“iOS实例开发源码——jojo312-NumbersTo1-7d30242.zip”显然包含了一个iOS应用的源代码,由开发者jojo312创建,版本号可能是7d30242。这个应用可能是一个简单的教育或练习项目,目标是展示如何在iOS...
"jojo_js" 是一个专门收集前端开发中使用的JavaScript库、组件和工具的资源集合。这个压缩包"jojo_js-master"很可能包含了源代码、示例、文档和其他相关材料,帮助开发者在JavaScript项目中实现各种功能。下面我们将...
总的来说,"JOJO绿幕特效-木大木大木大"提供了将JOJO元素融入个人视频的便捷方式,借助专业的视频编辑工具和预先处理的绿幕素材,即使是初级用户也能轻松实现专业级别的视觉效果。通过学习和掌握这种技术,不仅可以...
总之,这个资源为JOJO粉丝和视频创作者提供了一个有趣的工具,让他们能够利用岸边露伴的经典台词和形象,创造属于自己的独特视频作品。通过熟练运用绿幕技术和视频编辑软件,用户可以在自己的创作中加入这一动漫元素...
jojo过验证(1).zip
在智能手机开发领域,移动Web开发框架扮演着至关重要的角色。随着科技的进步,传统的桌面网页正逐步让位于更加便捷的移动网站,使得开发者需要不断挑战自我,掌握新技术来应对这一变化。移动Web开发框架旨在帮助...
"JOJO绿幕特效-ダメ出しするジョルノ・ジョバァーナ" 是一个专为JOJO系列爱好者提供的资源,它允许用户将JOJO角色融入到自己的视频作品中,通过绿幕技术实现创新的视觉效果。这个资源特别适用于熟悉视频剪辑和后期...
标题 "jojo.rar_edit_show" 暗示了这是一个与 Delphi 编程相关的压缩包,其中包含了用于展示如何编辑数据并更新到数据库的源代码。Delphi 是一种基于 Object Pascal 的集成开发环境(IDE),常用于创建桌面应用程序...
总结来说,"sample_jojo-0.1.1_rc8-py2-none-any.whl"是一个Python 2的轮子文件,它代表了一个名为sample_jojo的库的开发版本。虽然Python 2已不再被官方支持,但该库可能是为了向后兼容或特定项目需求。要使用这个...
视频剪辑软件如Adobe Premiere Pro、Final Cut Pro或DaVinci Resolve等都提供了强大的绿幕处理工具。它们可以精确地选择和分离绿色背景,通过调整边缘平滑度、羽化程度以及色彩对比度来确保主体与新背景的自然融合。...
在本资源 "[jojozhai]Spring Security开发安全的REST服务源码完整版" 中,你将获得一套完整的Spring Security源代码,用于实现REST服务的安全防护。 1. **身份验证**:Spring Security的核心功能之一是用户身份验证...
色指定
Jojo Siwa 2019主题高清 LovelyTab的Jojo Siwa壁纸和Jojo HD主题扩展。 安装它以获得最大的浏览体验。 免费打开有趣的新闻,事实并玩游戏,同时享受自己喜欢的高清主题和壁纸。 使用方法:-此Jojo Siwa 2019 ...
总的来说,LabVIEW的模拟液晶屏显示功能结合字符串输入和Excel数据读取,为实验数据分析、设备控制等领域提供了强大的工具。通过这样的实践,你不仅可以掌握基本的LabVIEW编程技巧,还能了解到如何将这些技能应用于...
5. **前端开发**:用户界面和用户体验是Hackathon作品能否吸引评委的关键。HTML、CSS和JavaScript(包括现代库如React、Vue.js)是构建交互式前端的常用技术。 6. **后端开发**:后端处理业务逻辑和数据存储。Node....
《RohanKishibeSimulator》是一款以日本著名漫画《JoJo的奇妙冒险》中的角色——罗翰·奇斯比(Rohan Kishibe)为主题的模拟游戏。在游戏中,玩家可以尝试扮演这位独具慧眼的漫画家,感受创作过程中的挑战与乐趣。这...
《iOS游戏应用源代码分析——基于...同时,这个过程也是对苹果开发工具Xcode的一次实战训练,加深对Apple生态系统和开发流程的理解。因此,无论你是iOS开发的新手还是有经验的开发者,此项目都能提供有价值的学习材料。