简单mock服务simple-boot-mock-server如何使用

关于此mock服务相关介绍见:https://fugary.com/?p=626

安装运行

  1. 下载运行:https://github.com/fugary/simple-boot-mock-server/releases下载最新zip文具
    1. 下载解压后,bin\start.bat运行即可
  2. Docker运行:docker run -p 9086:9086 fugary/simple-boot-mock-server:latest

登录使用

默认启动访问:http://localhost:9086

有两个用户admin/12345678mock/mock,登录后第一时间修改密码,新建自己的账户

修改密码

进入个人资料,清空密码,修改自己的密码即可

image-20240710215302252

mock分组

进入mock分组页面,点击【新增】,每个分组对应一个api接口组,里面可以有多个请求路径,每个路径可以认为是一个api接口。

image-20240710215424610

新增,主要填写名【分组名称】就可以了,【路径ID】一般自动生成(需要全局唯一),不过保留手动填写的支持,方便需要手动指定的特殊情况。

注意:代理地址是配置的请求之外的地址将发送到代理地址获取数据,支持http和https,也就是需要使用的真实地址,本地mock这个是不需要填写的

image-20240710215951061

点击【配置】进入子页面配置请求路径

image-20240710220339217

mock请求

一个mock分组下面可以配置多个mock请求,处理不同的请求并给出响应,下面三个值唯一定位一个请求

  1. 请求路径(默认会自动在前面加上/
  2. 请求方法
  3. 匹配规则

新建请求

image-20240710220501949

保存后可以点击测试:

image-20240710220804994

测试请求

请求测试这块说明:

  1. 如果在分组时没有配置【代理地址】,只配置请求没有配置响应数据将会得到404错误
  2. image-20240710220956939
  3. 如果在分组时配置了【代理地址】,只配置请求没有配置响应数据将会转发给代理地址,从代理地址获取响应:
  4. image-20240710220911252
  5. 如果配置了响应数据,将会返回配置的响应数据,下面会介绍如何配置响应数据,将在后面做测试

mock响应数据

响应数据是给当前请求路径配置实际的响应体,支持各种状态码,content type等

新建响应数据

每个请求下面都可以配置多个响应数据,但是只有一个默认请求数据

image-20240710221322130

简单写死配置响应数据很简单,如下图所示:

image-20240710221611946

保存后就可以测试实际响应

注意:这里有两个测试:

  1. 请求测试时针对请求的,请求下面配置有多个响应数据时,选择第一条,如果指定了默认数据就取默认数据
  2. 数据测试时针对单个数据的,每个数据测试时返回自己配置的响应数据

image-20240710221905940

因为只有唯一一条数据,请求测试和响应数据测试时响应的数据都一样:

image-20240710222409692

默认响应数据

有多条响应数据的时候可以指定某一条为默认数据,在测试多种响应的时候很有用,比如要测试正常和错误两种响应,可以先配置好两条响应数据,当需要正确数据时,就把正确的那一条设置为默认,如果需要错误的数据时,就把错误那条设置为默认。

【默认标记】与【设置默认按钮】见下图

image-20240710222933373

如果把错误设置为默认,测试如下:

image-20240710223051092

数据复制功能

为了快速添加多条数据,可以直接点击某一条数据的【复制按钮】

image-20240710222707326
,可以快速复制一份一模一样的数据,然后修改成自己想要的数据即可。

高级功能

下面介绍下高级功能,如果上面的基本功能不够用,下面有比较多的高级功能,有一定难度

Mock.js支持

目前响应数据时支持Mock.js语法的,使用的就是Mock.js,不过是通过JDKScriptEngine调用。

什么是Mock.jshttp://mockjs.com/

Mock.js文档:https://github.com/nuysoft/Mock/wiki

测试Mock.js支持:

在刚才的数据中写入Mock.js支持的格式,这里以生成一些城市数据为例:

image-20240710224052933

测试请求响应如下:

image-20240710224132354

变量支持

有时候我们可能需要用一些变量替换响应数据,这里没有Mock.js那么强大,不过不局限于json响应,可以支持XML中替换数据,变量支持如下:

  • request.body——body内容对象(仅json时会解析成对象)
  • request.bodyStr——body内容字符串
  • request.headers——头信息对象
  • request.parameters——请求参数对象
  • request.pathParameters——路径参数对象
简单变量替换

比如请求参数中有个name字段,需要响应中返回回来:

image-20240710224722168

测试如下:

image-20240710224827000

Mock.js变量使用

如果是JSONpost请求,可以解析出请求的值,并替换给返回数据:

配置请求:

image-20240710230054603

测试结果:

image-20240710230010521

匹配规则

匹配规则是稍微比较复杂的功能,主要是在相同url和请求方法的情况下,区分不同请求给出不同的响应。

比如这个场景:如果请求参数的orderNo>100时返回正确正确的数据,否则返回错误的数据

匹配规则使用JS表达式计算,计算结果为真就是匹配,为假就是不匹配

匹配规则和默认响应有冲突,优先按照匹配规则匹配,只要配置有匹配规则不能作为默认响应

这里的匹配规则,支持的变量和前面【变量支持】模块一致:

image-20240710230952984

测试成功:

image-20240710231042719

测试错误:

image-20240710231130075

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇