下载地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/

此处使用standalone的方式,不使用api用法

启动方式(单独配置文件启动):java -jar (jar包位置) (协议) -p (端口) -c 配置文件地址

1 全局配置文件

  1. [
  2. {"context":"/path1", "include":"startup.json"},
  3. {"context":"/path2", "include":"startup2.json"}
  4. ]

这儿的启动方式有变化, 启动方式(全局配置文件启动):java -jar (jar包位置) (协议) -p (端口) -g 配置文件地址,访问要加上context的utl,如访问startup1.json中的访问方法,

访问路径为:http://localhost:8888/path1/demo/noparam

以下是一些常见的方法

config.json

  1. [
  2. {"context":"/path1", "include":"startup.json"},
  3. {"context":"/path2", "include":"startup2.json"}
  4. ]

startup.json

  1. [
  2. {
  3. "description": "这是一个get请求",
  4. "request": {
  5. "uri": "/demo",
  6. "method": "get",
  7. "queries": {
  8. "name": "lww",
  9. "age": "34"
  10. }
  11. },
  12. "response": {
  13. "text": "返回的方式为文本",
  14. "headers":{
  15. "Content-Type":"text/html;charset=gbk"
  16. }
  17. }
  18. },
  19. {
  20. "description": "这是一个不带有请求参数的get请求",
  21. "request": {
  22. "uri": "/demo/noparam",
  23. "method": "get"
  24. },
  25. "response": {
  26. "text": "这是不带有请求参数的get请求",
  27. "headers": {
  28. "Content-Type":"text/html;charset=gbk"
  29. }
  30. }
  31. },
  32. {
  33. "description": "这是一个post的请求",
  34. "request": {
  35. "uri": "/demo/postNoParam",
  36. "method": "post"
  37. },
  38. "response": {
  39. "text": "这是一个post请求,不带有参数",
  40. "headers": {
  41. "Content-Type":"text/html;charset=gbk"
  42. }
  43. }
  44. },
  45. {
  46. "description": "这是一个带有的参数的post请求",
  47. "request": {
  48. "uri": "/demo/postwithparam",
  49. "method": "post",
  50. "forms": {
  51. "name": "lww",
  52. "age": "45"
  53. }
  54. },
  55. "response": {
  56. "text": "这是一个post请求,并且带有参数",
  57. "headers": {
  58. "Content-Type":"text/html;charset=gbk"
  59. }
  60. }
  61. },
  62. {
  63. "description": "这是一个get请求,带有cookie信息",
  64. "request": {
  65. "uri": "/demo/withCookie",
  66. "method": "get",
  67.  
  68. "cookies": {
  69. "hello": "lww"
  70. }
  71.  
  72. },
  73. "response": {
  74. "headers": {
  75. "Content-Type":"text/html;charset=gbk"
  76. },
  77. "text": "这是一个带有cookie信息的get请求"
  78. }
  79. },
  80. {
  81. "description": "这是一个带有cookie信息的post请求",
  82. "request": {
  83. "uri": "/demo/postwithcokie",
  84. "method": "post",
  85. "cookies": {
  86. "hello": "lww"
  87. },
  88. "json": {
  89. "name": "lww",
  90. "age": "45"
  91. }
  92. },
  93. "response": {
  94. "text": "这是一个带有cookie信息的post请求",
  95. "headers": {
  96. "Content-Type":"text/html;charset=gbk"
  97. }
  98. }
  99. },
  100. {
  101. "description": "这是一个带有返回状态码的请求",
  102. "request": {
  103. "method": "get",
  104. "uri": "/demo/withstatus"
  105. },
  106. "response": {
  107. "json": {
  108. "lww": "33333",
  109. "age": "45"
  110. },
  111. "status": "200",
  112. "headers": {
  113. "Content-Type":"text/html;charset=gbk"
  114. }
  115. }
  116. },
  117. {
  118. "description": "带有headers信息的请求,post与get一致",
  119. "request": {
  120. "uri": "/demo/withheaders",
  121. "method": "get",
  122. "headers": {
  123. "content-type": "application/json"
  124. }
  125. },
  126. "response": {
  127. "text": "带有headers的请求"
  128. }
  129. },
  130. {
  131. "description": "重定向",
  132. "request": {
  133. "uri": "/demo/cdx"
  134. },
  135. "redirectTo": "/demo/tocdx"
  136. },
  137. {
  138. "description": "重定向到这个",
  139. "request": {
  140. "uri": "/demo/tocdx"
  141. },
  142. "response": {
  143. "text": "到这儿",
  144. "headers": {
  145. "Content-Type":"text/html;charset=gbk"
  146. }
  147. }
  148. },
  149. {
  150. "description": "上传文件",
  151. "request": {
  152. "uri": "/demo/file"
  153. },
  154. "response":{
  155. "file": "C:\\Users\\lwf\\Desktop\\test-output\\report.html"
  156. }
  157.  
  158. }
  159.  
  160. ]

  startup2.json

  1. [
  2. {
  3. "description": "这是delete请求",
  4. "request": {
  5. "method": "delete",
  6. "uri": "/demo/del"
  7. },
  8. "response": {
  9. "status": "200"
  10. }
  11. },
  12. {
  13. "description": "这是一个put方法",
  14. "request": {
  15. "uri": "/demo/put",
  16. "method": "put"
  17. },
  18. "response": {
  19. "status": "200"
  20. }
  21. },
  22. {
  23. "description": "xml",
  24. "request": {
  25. "uri": "/demo/xml",
  26. "text": {
  27. "xml": "<request><parameters><id>1</id></parameters></request>"
  28. }
  29. },
  30. "response": {
  31. "status": "200"
  32. }
  33. }
  34. ]

更多查看:https://github.com/dreamhead/moco/blob/master/moco-doc/apis.md

以上是我暂时能想到的常用的请求

网上看教程moco是支持热部署的, 但是不知道是因为我下载的版本太低还是怎么回事并不能进行热部署

Mock Server的更多相关文章

  1. 关于mock server

    这篇技术博客是在知乎上看到的 知乎js大神张云龙写的 这里贴过来记录下,如果侵权 请告知将及时删除. --------------------------- 为了更好的分工合作,让前端能在不依赖后端环 ...

  2. Fiddler-009-AutoResponder 简单的 MOCK SERVER 应用实例

    在我们日常的测试中经常需要测试特定的响应对应的客户端展示样式是否正确无误,实现测试方法一般有如下三种: 创建新的测试数据(工作量较大) 修改已有测试数据(例如修改对应的状态码,若是最终需要测试的按钮状 ...

  3. mock server相关解决方案

    前后端分离之后 前后端分离后, 大家从此进入了所谓的并行开发时代. 一旦完成前后端的(边界)分工, 大家就可以各司其职了. 前端在与后端交互时, 要想有效地提高工作效率, 后端的接口文档就是重中之重了 ...

  4. mock server 前后端分离小结(转)

    1.前台开发受限于后台开发的速度 2.后台提供给前台的接口缺字段,时常需要联调 基于Mock Server开发的好处: 对于前端来讲,可以独立于后端进行开发. 对于后端来讲,根据前端定义的接口进行开发 ...

  5. 基于moco的mock server 简单应用 来玩玩吧

    提起mock大家应该就知道是干嘛用的了,再次再介绍一种简单的方式,基于moco的mock server.步骤很简单: 1. 首先,要下载个moco的jar0_1482402640757_moco-ru ...

  6. Mock Server 入门

    Mock Server介绍 什么是mock ? 我在去年的时候介绍一篇幅 python mock的基本使用,http://www.cnblogs.com/fnng/p/5648247.html 主要是 ...

  7. Mock Server文章链接

    Mock Server文章链接 2017-06-14 1 Dreamhead (Zheng Ye) Moco可以提供以下服务: HTTP APIs Socket APIs REST API GitHu ...

  8. Postman Mock Server

    为了不影响前端开发的进度,一般后端都是先定数据结构,然后写个假接口让前端调用,这样前端就不必等着后端接口开发完成以后再开始了.届时,前后端以及UI和测试就可以并行,待双方都把各自的逻辑写好了,便可以联 ...

  9. Mock Server 实现post方法的接口(三)

    Mock Server 实现post方法的接口(三) 1.mock server实现的接口,当request中未设置"method"时,会自动将所有method试一次,所以一定要指 ...

  10. mock server 实现get方法的接口(二)

    mock server 实现get方法的接口(二) 下面是实现查询品牌的接口demo: 1.当response数据量小的时候,可以直接使用json, mock会自动设置headers为applicat ...

随机推荐

  1. VIM快速复制多行

    在vim中快速复制粘贴多行   用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地 ...

  2. 2018下C语言基础课第1次作业

    准备工作(20分) 1.在博客园申请个人博客,以真实姓名和学号加入班级博客(1班班级博客链接地址)(2班班级博客链接地址) 2.关注邹欣老师博客.关注任课老师博客,关注助教老师 3.加入讨论小组,学习 ...

  3. 推荐一个免费的在线IDE和终端

    墙裂推荐!支持众多语言,方便学习,测试,地址如下 https://www.tutorialspoint.com/codingground.htm

  4. java native 笔记

    java中native的用法   前言: 在查看 Object.java 文件时,发现有一个 方法比较特殊(不认得,看不懂...)  private static native void regist ...

  5. #20175120彭宇辰-实验一《Java开发环境的熟悉》实验报告

    Java开发环境的熟悉-1 实验要求:1 .建立“自己学号exp1”的目录2 .在“自己学号exp1”目录下建立src,bin等目录3 .javac,java的执行在“自己学号exp1”目录4 .提交 ...

  6. jquery 禁止回车事件响应

    $(this).keydown( function(e) { var key = window.event?e.keyCode:e.which; if(key.toString() == " ...

  7. 自学java_Struts2框架

    一.Struts2基础 1.Struts2是有Apache在Struts1和Webwork的基础上研发出的新一代MVC框架. 2.Struts2开发环境的搭建: 打开https://struts.ap ...

  8. 配置https and http2 local本地开发环境

    今天,几乎所有你访问的网站都是受HTTPS保护的.如果你还没有这样做,是时候这样做了.使用HTTPS保护您的服务器也就意味着您无法从非HTTPS的服务器发送请求到此服务器.这对使用本地开发环境的开发人 ...

  9. Java scirpt简介

    JavaScript 简介 JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 H ...

  10. vim编辑器学习记录

    i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入 s:删除光标所在的字符并开始插入 I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入 A: ...