CN104199725B - 一种服务接口数据模拟方法和系统 - Google Patents
一种服务接口数据模拟方法和系统 Download PDFInfo
- Publication number
- CN104199725B CN104199725B CN201410502306.7A CN201410502306A CN104199725B CN 104199725 B CN104199725 B CN 104199725B CN 201410502306 A CN201410502306 A CN 201410502306A CN 104199725 B CN104199725 B CN 104199725B
- Authority
- CN
- China
- Prior art keywords
- parameter
- configuration file
- url
- web
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明属于软件数据交互技术领域,一种服务接口数据模拟方法和系统。本发明方法包括:编辑配置文件;根据对应配置文件中的URL,在web浏览器地址栏输入URL进行HTTP请求模拟;web监听服务器对接收的URL请求进行识别,并与读取到的配置文件中的URL进行匹配分析,判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同;web监听服务器将处理结果返回给web浏览器,web浏览器进行结果展示。本发明系统包括对应上述方法步骤所配置的各单元模块。本发明可以用于移动开发、前端开发,模拟一个完整的Web服务器,缩短开发时间,简化开发流程;开发人员可实时变更模拟需求,获取不同响应数据的模拟。
Description
技术领域
本发明属于软件开发数据交互技术领域,具体涉及一种服务接口数据模拟方法和系统。
背景技术
现有软件系统开发过程中通常涉及与外部网站数据接口的对接,以及前端系统与后端系统的数据交互等等,一些接口的定义以及数据的返回,种种的工作都需要进行开发和定义。由于前端页面数据的返回需要依赖于后端服务接口,在后端服务接口并没有开发完成的时候,前端展示页面需要将页面效果展示出来只能通过其它方式来完成,比如:(1)通过页面上写死数据,通过死板的页面数据来进行展示;(2)通过在JS中模拟数据。但方式(1)在进行程序开发的时候,前端页面需要依赖于后端服务,后端服务没有完成的情况下,只能等待服务接口的完成,中间浪费等待时间。方式(2)虽然在一定程序上解决了前端与后端的一个耦合,但是对于不同的数据模拟需要修改对应的JS,会造成一些不必要的错误,浪费不必要的时间。
集成,尤其是基于HTTP协议的集成——web service、REST等,在人们的项目开发中被广泛应用。以前,每次都要往Jetty或Tomcat等应用服务器上部署一个新的WAR。开发部署一个WAR的过程是很枯燥的,即使在嵌入式服务器上也是如此。若稍加改动,整个WAR都要重新组装。
发明内容
本发明的目的在于提供一种新的服务接口数据模拟方法和系统,以解决前端需要等待后端服务接口的开发完成再进行开发的技术问题,避免开发过程中的时间浪费,从而缩短开发时间,简化开发流程。
本发明提供的服务接口数据模拟方法,其流程如图1所示,具体步骤包括:
(1)编辑配置文件,包括json、text、html三种类型,配置文件内容包括:
请求信息,包括:请求方式(包括:get,post,delete,put等)、需传出响应参数类型(类型分为:Json(jsonp),text,html)、请求参数和参数值以及URI地址;
其中,URL=web监听服务器的地址(对应的服务器机器IP地址):端口号+URI+?+请求参数和参数值;
响应信息:返回结果状态和返回信息内容,返回结果状态包括成功、失败和需要登录等,返回信息内容包括交易成功或失败等开发人员自定义内容,具体可见图3解释定义;
(2)根据对应配置文件中的URL,在web浏览器地址栏输入URL进行HTTP请求模拟;
(3)web监听服务器对接收的URL请求进行识别,分析取出得到URL中的URI部分,与读取到的配置文件中的request参数中的URI参数进行匹配分析,如果相同则进行下一步,不相同则返回错误提示信息,判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同;
若包括json参数格式,则需进行进一步匹配,包括:匹配请求方式(get或post)和需传出的响应参数类型(Json,text,html);
(4)web监听服务器将处理结果返回给web浏览器,web浏览器进行结果展示。
本发明提供的服务接口数据模拟系统,其结构如图2所示,系统包括:
(1)配置文件编辑单元,用于编辑配置文件,包括:
请求信息,包括:请求方式(包括:get,post)、需传出响应参数类型(类型分为:Json,text,html)、请求参数和参数值以及URI地址,其中,URL=web监听服务器的地址:端口号+URI+?+请求参数和参数值;
响应信息:返回结果状态和返回信息内容,返回结果状态包括成功、失败和需要登录等,返回信息内容包括交易成功或失败等开发人员自定义内容;
(2)配置单元,用于配置对应IP端口的URL请求,选择配置文件所在目录,并发送到配置文件解析单元;
(3)配置文件解析单元,用于解析配置文件参数内容,并发送给web监听服务器的解析单元;
(4)启动服务单元,用于启动配置文件解析单元;
(5)WEB监听服务器,包括:
数据传输单元,用于接收URL请求,提取解析单元所需请求参数和参数值,并将参数和参数值发送到解析单元;
解析单元,用于接收数据传输单元发送的请求参数和参数值,读取配置文件解析单元的URL参数和参数值,并将两者进行匹配分析;
匹配分析单元,包括:判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同;
若包括json参数格式,则需进行进一步匹配,包括匹配请求方式(get或post)和需传出的响应参数类型(Json,text,html);
(6)停止服务单元:与WEB监听服务器连接,用于停止web服务器进行监听操作。
本发明优点:
利用前端数据模拟工具,开发者只要根据自己的需要进行相应的配置,就会很方便得到一个模拟服务器。这个工具本身具有灵活性,配置方便,比如,它可以用于移动开发,模拟尚未开发的服务,它还可以用于前端开发,模拟一个完整的Web服务器,大大缩短开发时间,简化开发流程;开发人员可实时变更模拟需求,获取不同响应数据的模拟。
附图说明
图1是本发明服务接口数据模拟流程示意图。
图2是本发明服务接口数据模拟系统结构示意图。
图3是本发明数据模拟配置文件结构示意图。
具体实施方式
一、图1是提供数据模拟方法流程示意图。为解决现在开发模式中数据获取这块功能上的不足或者存在模拟软件复杂的缺陷,模拟方法具体步骤包括:
1、编辑配置文件,包括json、text、html三种类型,配置文件内容包括:
请求信息(request),包括:请求方式(包括:get,post)、需传出响应参数类型(类型分为:Json,text,html)、请求参数和参数值以及URI地址,例如:URI:/game99/loadGameDetailByCode.do,
其中,URL=web监听服务器的地址:端口号+URI+?+请求参数和参数值,例如:URL:http://127.0.0.1:8888/game99/loadGameDetailByCode.do?gameCode=25。
响应信息(response):返回结果状态和返回信息内容,返回结果状态包括成功、失败和需要登录等,返回信息内容包括交易成功或失败等开发人员自定义内容;
2、根据对应配置文件中的URI,在web浏览器地址栏输入URL进行HTTP请求模拟;
3、web监听服务器对接收的URL请求进行识别,并与读取到的配置文件中的URL进行匹配分析,判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同。
若包括json参数格式,则需进行进一步匹配,包括:匹配请求方式(get或post)和需传出的响应参数类型(Json,text,html)。
4、web监听服务器将处理结果返回给web浏览器,web浏览器进行结果展示。
二、图2是本发明提供的数据模拟系统的结构示意图,系统包括:
(1)配置文件编辑单元,用于编辑配置文件,包括:
请求信息,包括:请求方式(包括:get,post)、需传出响应参数类型(类型分为:Json,text,html)、请求参数和参数值以及URI地址,例如:URI:/game99/loadGameDetailByCode.do,其中,URL=web监听服务器的地址:端口号+URI+?+请求参数和参数值,例如:URL:http://127.0.0.1:8888/game99/loadGameDetailByCode.do?gameCode =25。
响应信息:返回结果状态和返回信息内容,返回结果状态包括成功、失败和需要登录等,返回信息内容包括交易成功或失败等开发人员自定义内容;
(2)配置单元,用于配置对应IP端口的URL请求,选择配置文件所在目录,并发送到配置文件解析单元,
(3)配置文件解析单元,用于解析配置文件参数内容,并发送给web监听服务器的解析单元。
(4)启动服务单元,用于启动配置文件解析单元。
(5)WEB监听服务器,包括:
数据传输单元,用于接收URL请求,提取解析单元所需请求参数和参数值,并将参数和参数值发送到解析单元。解析单元可采用apache Mina框架技术实现。
解析单元,用于接收数据传输单元发送的请求参数和参数值,读取配置文件解析单元的URL参数和参数值,并将两者进行匹配分析,具体可采用谷歌GSON技术实现。
匹配分析单元,包括:判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同。
若包括json参数格式,则需进行进一步匹配,包括匹配请求方式(get或post)和需传出的响应参数类型(Json,text,html)。
(6)停止服务单元:与WEB监听服务器连接,用于停止web服务器进行监听操作。
三、配置文件内容的结构和规则,如图3所示,包括必备的request和response参数。
(一)请求信息配置(request)
method代表输入请求方式,可为get,post,delete等,配置文件内容可为:request:{“method”:”get”}
type代表输入请求的输出类型,可为text,html,json,
其中:text为输出经过转义的安全内容,并且以纯文本方式输出;
html为输出未经过转义的内容,在网页上会以html形式的内容输出;
json输出为json格式的数据内容,配置文件内容可为request:{“method”:”get”,”type”:”text”}
URI代表输入请求的?号之前的路径,例如:
http://127.0.0.1:8888/game99/loadGameDetailByCode.do?gameCode=25
则URI为/game99/loadGameDetailByCode.do,配置文件内容可为:
request:{“method”:”get”,”type”:”text”,”uri”:”/game99/loadGameDetailByCode.do”}
params代表输入的请求参数,输入的请求所带参数个数必须大于或者等于配置的参数个数,并且对应的参数值必须相等。如:
http://127.0.0.1:8888/game99/loadGameDetailByCode.do?gameCode=25
gameCode代表需要配置的参数{gameCode:25}。
(二)响应信息配置(response)
1、当request中的type参数为不同时,则有不同的response输出配置,如参数类型为json请求,输入和输出配置
上述代码为自定义内容示例。
当需要解决不同域名地址之间请求调用产生的跨域问题时,配置人员需将配置文件请求参数中写入自定义参数,例如:hpcallback或者jsonpcallback参数,即请求URL中带有参数hpcallback或者jsonpcallback参数,系统根据传入参数自动输出jsonp对应的输出数据:例如:
http://127.0.0.1:8888/game99/mycoupons.do?jsonpcallback=
jQuery19106561612307559699_1410950594952
响应信息:jQuery19106561612307559699_1410950594952+自定义响应信息
2、html请求,请求和相应信息配置实例
Claims (2)
1.一种服务接口数据模拟方法,其特征在于具体步骤包括:
(1)编辑配置文件,配置文件内容包括:
请求信息,包括:请求方式、需传出响应参数类型、请求参数和参数值以及URI地址;请求方式包括:get、post,参数类型分为:Json, text, html;
响应信息:返回结果状态和返回信息内容,返回结果状态包括成功、失败和需要登录,返回信息内容包括交易成功、失败或开发人员自定义内容;
(2)根据对应配置文件中的URI,在web浏览器地址栏输入URL进行HTTP请求模拟,其中,URL=web监听服务器的地址:端口号+URI++请求参数+参数值;
(3) web监听服务器对接收的URL请求进行识别,并与读取到的URL进行匹配分析,判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同;
若包括json参数格式,则需进行进一步匹配,包括:匹配请求方式和需传出的响应参数类型;
(4)web监听服务器将处理结果返回给web浏览器,web浏览器进行结果展示。
2.一种服务接口数据模拟系统,其特征在于系统包括:
(1)配置文件编辑单元,用于编辑配置文件,包括:
请求信息,包括:请求方式、需传出响应参数类型、请求参数和参数值以及URI地址;请求方式包括:get, post,参数类型分为:Json, text, html;
响应信息:返回结果状态和返回信息内容,返回结果状态包括成功、失败和需要登录,返回信息内容包括交易成功、失败或开发人员自定义内容;
(2)配置单元,用于配置对应IP端口的URL请求,选择配置文件所在目录,并发送到配置文件解析单元,其中,URL=web监听服务器的地址:端口号+URI++请求参数+参数值;
(3)配置文件解析单元,用于解析配置文件参数内容,并发送给web监听服务器的解析单元;
(4)WEB监听服务器,包括:
数据传输单元,用于接收URL请求,提取解析单元所需请求参数和参数值,并将参数和参数值发送到解析单元;
解析单元,用于接收数据传输单元发送的请求参数和参数值,读取配置文件解析单元的URL参数和参数值,并将两者进行匹配分析;
匹配分析单元,包括:判断配置文件中的参数个数是否小于等于URL请求中的参数个数,判断参数值是否相同;
若包括json参数格式,则需进行进一步匹配,包括匹配请求方式和需传出的响应参数类型;
(5)停止服务单元:与WEB监听服务器连接,用于停止web服务器进行监听操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410502306.7A CN104199725B (zh) | 2014-09-27 | 2014-09-27 | 一种服务接口数据模拟方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410502306.7A CN104199725B (zh) | 2014-09-27 | 2014-09-27 | 一种服务接口数据模拟方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199725A CN104199725A (zh) | 2014-12-10 |
CN104199725B true CN104199725B (zh) | 2017-12-22 |
Family
ID=52085022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410502306.7A Active CN104199725B (zh) | 2014-09-27 | 2014-09-27 | 一种服务接口数据模拟方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199725B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301995A (zh) * | 2015-06-24 | 2017-01-04 | 北京京东尚科信息技术有限公司 | 一种自动检测接口服务异常的方法和装置 |
CN105867944B (zh) * | 2016-04-19 | 2019-10-22 | 郑州宇通客车股份有限公司 | Web前端数据操作层及其实现方法 |
CN105975393B (zh) * | 2016-05-04 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种页面显示的检测方法及系统 |
CN106055383A (zh) * | 2016-05-26 | 2016-10-26 | 北京京东尚科信息技术有限公司 | 请求处理方法和装置 |
CN106569951B (zh) * | 2016-11-04 | 2019-05-07 | 杭州顺网科技股份有限公司 | 一种脱离页面的Web测试方法 |
CN106598575A (zh) * | 2016-11-30 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种前端数据模拟的实现方法及系统 |
CN106681922B (zh) * | 2016-12-27 | 2021-03-02 | 上海品顺信息科技有限公司 | 模拟服务器响应方法及系统 |
CN108259520A (zh) * | 2016-12-27 | 2018-07-06 | 北京国双科技有限公司 | 一种数据处理方法及服务器 |
CN107608708B (zh) * | 2017-08-20 | 2020-05-01 | 杭州安恒信息技术股份有限公司 | 一种接口数据伪造方法 |
CN108563426B (zh) * | 2018-03-06 | 2021-06-11 | 北京酷我科技有限公司 | 一种iOS请求模拟方法 |
CN108600311B (zh) * | 2018-03-21 | 2020-08-04 | 浙江口碑网络技术有限公司 | 客户端模拟接口数据的方法及装置 |
CN110516143B (zh) * | 2018-05-31 | 2020-06-12 | 北京数聚鑫云信息技术有限公司 | 一种基于浏览器的业务数据提取方法及装置 |
CN109388425B (zh) * | 2018-08-17 | 2021-08-31 | 东莞数汇大数据有限公司 | 一种前端工程的接口切换方法、系统、装置和存储介质 |
CN109460266A (zh) * | 2018-10-29 | 2019-03-12 | 无锡华云数据技术服务有限公司 | 一种构造软件模拟数据的方法及装置 |
CN109634605B (zh) * | 2018-12-05 | 2021-11-02 | 思必驰科技股份有限公司 | 用于web前端的模拟数据生成方法及系统 |
CN109766102A (zh) * | 2018-12-30 | 2019-05-17 | 卓集送信息科技(武汉)有限公司 | 一种自动解析请求参数的匹配方法 |
CN111666512B (zh) * | 2019-03-07 | 2024-02-02 | 北京嗨动视觉科技有限公司 | 服务器信息收发方法、装置和系统 |
CN111596910A (zh) * | 2020-04-20 | 2020-08-28 | 微梦创科网络科技(中国)有限公司 | 一种Mock服务平台及方法 |
CN111756804B (zh) * | 2020-05-27 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 一种配置web请求的方法及装置 |
CN111782330B (zh) * | 2020-07-07 | 2024-01-26 | 赞同科技股份有限公司 | 一种基于Web应用的页面数据获取方法、装置及设备 |
CN111953659B (zh) * | 2020-07-21 | 2023-02-07 | 北京思特奇信息技术股份有限公司 | 一种http请求模拟处理的方法及系统 |
CN112015483B (zh) * | 2020-08-07 | 2021-12-03 | 北京浪潮数据技术有限公司 | Post请求参数自动化处理方法、装置及可读存储介质 |
CN114077426A (zh) * | 2020-08-11 | 2022-02-22 | 南京南瑞继保电气有限公司 | 一种轻量级的电网Web系统前后端数据代理转换系统及方法 |
CN112887390B (zh) * | 2021-01-20 | 2023-02-17 | 上海易校信息科技有限公司 | 一种网络请求方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631783A (zh) * | 2012-08-21 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 一种前端页面的生成方法及系统 |
CN103955361A (zh) * | 2014-03-28 | 2014-07-30 | 世纪禾光科技发展(北京)有限公司 | 一种web前端代码自动化编译构建的模块化开发和发布系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496658B2 (en) * | 2003-07-08 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Systems and methods for testing network services |
-
2014
- 2014-09-27 CN CN201410502306.7A patent/CN104199725B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631783A (zh) * | 2012-08-21 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 一种前端页面的生成方法及系统 |
CN103955361A (zh) * | 2014-03-28 | 2014-07-30 | 世纪禾光科技发展(北京)有限公司 | 一种web前端代码自动化编译构建的模块化开发和发布系统 |
Non-Patent Citations (1)
Title |
---|
Mock,让你的开发脱离接口;佚名;《http://www.cnblogs.com/AeroJin/p/3795016.html》;20140618;1-4 * |
Also Published As
Publication number | Publication date |
---|---|
CN104199725A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199725B (zh) | 一种服务接口数据模拟方法和系统 | |
US11442939B2 (en) | Configurable and incremental database migration framework for heterogeneous databases | |
CN109344170B (zh) | 流数据处理方法、系统、电子设备及可读存储介质 | |
CN104412272B (zh) | 使用户登录到浏览器的方法、系统和设备 | |
CN107729475B (zh) | 网页元素采集方法、装置、终端与计算机可读存储介质 | |
CN104268082B (zh) | 浏览器的压力测试方法和装置 | |
US8660833B2 (en) | Method, computer program product and apparatus for providing an interactive network simulator | |
CN101576843A (zh) | 一种测试应用程序接口的方法和装置 | |
CN105471968B (zh) | 一种数据交换方法、系统以及数据平台服务器 | |
US9971563B2 (en) | Systems and methods for low interference logging and diagnostics | |
WO2016093871A1 (en) | Method and system for automating submission of issue reports | |
US11502899B2 (en) | Dynamic product installation based on user feedback | |
CN110321154A (zh) | 一种微服务的接口信息展示方法、装置及电子设备 | |
CN107766509A (zh) | 一种网页静态备份的方法和装置 | |
CN109254922A (zh) | 一种服务器BMC Redfish功能的自动化测试方法及装置 | |
CN103970655A (zh) | 一种基于expect的服务器自动化集群测试方法 | |
CN110135940B (zh) | 后厨订单显示装置及方法 | |
CN112866193A (zh) | 设备部署方法、装置、设备及存储介质 | |
CN104954363B (zh) | 用于生成接口文档的方法和装置 | |
CN110188043A (zh) | 一种控制多台设备测试的方法及控制设备 | |
CN104580380A (zh) | 登录状态的同步方法和系统 | |
CN107656910A (zh) | 用于生成表单的方法和装置 | |
CN104008042A (zh) | 一种ui自动化测试方法、系统和设备 | |
CN106126517B (zh) | 将pc端应用页面转换为移动端应用页面的方法及装置 | |
CN102479082A (zh) | 客户端界面信息的提供方法、系统和客户端界面生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A service interface data simulation method and system Effective date of registration: 20210906 Granted publication date: 20171222 Pledgee: Pacific Anxin Agricultural Insurance Co.,Ltd. Shanghai Minhang branch Pledgor: SHANGHAI HANDPAL INFORMATION TECHNOLOGY SERVICE Co.,Ltd. Registration number: Y2021310000061 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |