mockserver实践:本地启动以命令行方式运行,实现挡板和转发

news2025/2/2 7:58:00

mockserver

官网学习地址 https://www.mock-server.com/#what-is-mockserver

mockserver下载和启动

下载

官网下载jar包 https://www.mock-server.com/where/downloads.html
本次实践所用jar包 mockserver-netty-5.14.0-shaded.jar

本地启动

需要先准备好jave环境

1.普通启动

java -jar mockserver-netty-5.14.0-shaded.jar -serverPort 1080 -logLevel INFO
##-serverPort 后跟端口号
##-logLevel设置日志类型

在这里插入图片描述

2.带有初始化文件/设置记录数据文件启动

java -Dmockserver.watchInitializationJson=true -Dmockserver.initializationJsonPath=挡板规则.json -Dmockserver.persistExpectations=true -Dmockserver.persistedExpectationsPath=挡板规则.json -jar mockserver-netty-5.14.0-shaded.jar -serverPort port -logLevel INFO
##-Dmockserver.watchInitializationJson=true   --要初始化
##-Dmockserver.initializationJsonPath=挡板规则.json    --初始化挡板规则的文件,启动时可以直接加载
##-Dmockserver.persistExpectations=true --实现数据持久化,在mockserver启动后设置的挡板规则时会直接记录下来
##-Dmockserver.persistedExpectationsPath=挡板规则.json --保存挡板规则的json文件

验证是否启动成功

打开前端日志 http://localhost:1080/mockserver/dashboard
在这里插入图片描述
看到这个界面就算启动成功啦~

设置挡板规则-即创建expectations

1.postman

put方法 url: http://localhost:1080/mockserver/expectation
body里写规则,json格式
规则内容示例:

{
  "id": "test_mock", //id唯一,id重复时会直接更新之前设置的规则
  //请求体规则
  "httpRequest" : {
    "path" : "/test1",  //路径, host:port/test1
    "method":"POST"     //方法
  },
  //预期响应报文
  "httpResponse" : {
    "body" : {
    "status": 200,
    "result": "Welcome to mock server!"
    }
  },
  "priority" : 0    //优先级,数值越大优先级越高
}

在这里插入图片描述
日志里也可以看到创建记录
在这里插入图片描述

2.命令行

curl -v -X put "http://localhost:1080/mockserver/expectation" -d "规则"
##这里的规则=postman body里的内容

3.记在规则文件里,然后以上面说的第二种启动方法重新启动

[
	规则1, //postman body里的内容
	规则2,
	......
]

创建好就可以用postman调用试试效果
在这里插入图片描述

常见规则的一些写法

匹配路径/方法/body里是否包含某个字符串
设置预期响应报文/转发
更多写法可以在官网上学习~~

 { "httpRequest" : {
    "method" : "方法类型",//支持正则匹配
    "path" : "调用路径",
    //匹配body里是否包含某个字符串
    "body" : {
      "type" : "STRING",
      "string" : "YXDTK",
      "subString" : true
    }
  },
  //挡板,预期响应报文
  "httpResponse" : {
    "body" : {
      "status" : 200,
      "result" : "Welcome to mock server!"
    }
  },
  //转发
  "httpForward":{
  	"host":"ip",
  	"post":port,
  	"scheme":"HTTP"
  },
  
  "id" : "test_mock", //id唯一,id重复时会直接更新之前设置的规则
  "priority" : 0    //优先级,数值越大优先级越高
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5、WAMP配置虚拟主机

配置虚拟主机后可实现用域名的方式访问项目。 1、从WAMP图标,点击左键,进行虚拟主机管理,然后添加上虚拟主机名,即将来的浏览器的地址名,然后输入相应的文件夹。这种修改方式,直接自动修改了hosts文件。 2…

frp内网穿透工具实现局域网服务访问

frp工具实现内网穿透 frp主要作用是实现内网穿透,将内外网端口进行映射,这样如果我想访问局域网内的某项服务,那么我直接访问公网上相对应的映射端口即可。 frp安装配置较复杂,这里我们直接使用frp docker容器安装。所以如果主机…

第二十章:CANet:具有迭代细化和专注少样本学习的无类别分割网络

0.摘要 最近在语义分割方面的进展是由深度卷积神经网络和大规模标注图像数据集推动的。然而,像素级别的数据标注是繁琐和昂贵的。此外,训练好的模型只能在一组预定义的类别中进行预测。在本文中,我们提出了CANet,一种无类别偏见的…

Spark编程-使用SparkCore求TopN,Max_Min_Value

简介 使用SparkCore求top5值编程,最大最小值 求订单前五的TOP5值 数据 数据字段如下:orderid,userid,payment,productid 需求如下:从文本文件中读取数据,并计算出前5个payment(订单的付款金额)值 //字段 orderid,userid,payme…

Java读取INI文件详解及案例

引言: INI文件是一种常用的配置文件格式,它采用了键值对的形式存储配置信息。在Java编程中,读取和解析INI文件是一个常见的任务。本文将详细介绍如何使用Java读取INI文件,并提供一个案例演示。 ---------------文章目录---------…

给2023年还想要成为网络工程师的朋友的一份学习福利

2023的夏天再怎么热,网络工程师工作的机房也会让你瑟瑟发抖。 很久没有给粉丝们分享网络工程师学习资料了,如果你当下还在为成为网络工程师而学习,不妨顺手拿走这份网工资料包再出发,希望可以给大家的学习一些帮助。 网工光速入门…

快速数据处理:限定表格某些字段是否可见、只读

目录 1 前言 2 打开字段属性表进行修改 3 测试一下几个字段只读属性 1 前言 实际操作中,某些字段不需要显示出来,某些字段需要显示,但是不可修改。我们可以通过简单设置来实现这些。 2 打开字段属性表进行修改 从左下基础表格列表中&am…

Day55|392.判断子序列 、 115.不同的子序列

392.判断子序列 1.题目: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是…

第五章内存系统(Cortex-M7 Processor)

目录 第五章内存系统 5.1关于内存系统 5.2(Speculative)推测性访问 5.2.1系统设计注意事项 5.3故障处理 5.3.1故障 5.3.2使用模型 5.4内存类型和内存系统行为 5.5AXIM接口 5.5.1AXI属性和事务 5.5.2用于AXIM接口访问的标识符 5.5.3AXI特权信息 5.…

Python案例分析|文本相似度比较分析

本案例通过设计和实现有关文本相似度比较的类Vector和Sketch,帮助大家进一步掌握设计Python类来解决实际问题的能力。 01、文本相似度比较概述 通过计算并比较文档的摘要可实现文本的相似度比较。 文档摘要的最简单形式可以使用文档中的k-grams(k个连…

springboot第30集:springboot集合问题

Logstash Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据、格式化数据,然后将数据发送到es进行存储。 ElasticSearch Elasticsearch 是基于JSON的分布式搜索和分析引擎,是利用倒排索引实现的全文索引。 KibanaKibana 能够…

低代码项目实战第一弹!2人14天快速构建电商企业供应链管理平台(一)

一、前言:项目背景 项目情况:一家主要通过电商平台销售日用清洁用品的企业,淘宝垂直品类第一,销售模式包括自营和代理商两种模式,平时用旺店通ERP进行订单管理和财务结算。并且客户公司有小的开发团队,可以…

Java日期类

日期类 第一代日期类: 1、Date:精确到毫秒,代表特定的瞬间 2、SimpleDateFormat: **格式化和解析日期的具体类,**它允许进行:格式化(日期 → 文本) 解析(文本 → 日期) 和 规范化。 3、常用的使用方法…

sentinel介绍-分布式微服务流量控制

官网地址 https://sentinelguard.io/ 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自…

MySQL 知识连载(一)

点击上方↑“追梦 Java”关注,一起追梦! MySQL 是一款开源软件,凭借其出色的性能,目前已经成为绝大多数互联网公司的首选关系型数据库。因此程序员不能只懂数据库的增删改查和一些简单的使用技巧,更需要熟练掌握 MySQL…

MySQL八股学习历程3MySQL数据页的格式from小林coding

MySQL八股学习历程3MySQL数据页的格式from小林coding InnoDB数据页MySQL单表建议数据承载量探究 InnoDB数据页 InnoDB 的数据是按数据页为单位来读写的,每个数据页大小默认为16KB,数据页的格式如下图 文件头中有两个指针,指向上一个数据页和下一个数据页,使得页面连接成一个…

大佬带你体验华为云代码检查服务CodeArts Check

1 开发者的自述 作为开发者,刚开始都不希望有任何针对他代码的批评,因为一旦知道代码被检测出问题,就会付出额外的努力做好工作,实际上,从一个开发人员的编码中,你能更清楚地了解编程语言可以做什么&#…

单片机裸机程序框架是怎样的?

单片机裸机程序框架指的是在单片机上进行编程时,不依赖任何操作系统或高级库的纯裸机编程框架。这意味着你需要直接操作底层硬件和寄存器,以完成特定的任务。下面是一个典型的单片机裸机程序框架,以C语言为例: // 头文件包含&…

分布式kmeans(scala原码实现)

scala分布式kmeans 1.分布式Kmeans算法设计思路2.分布式Kmeans算法代码实现2.1 Driver(主要负责分配、汇总数据)2.2 Executor(主要负责计算)2.3 Executor2(主要负责计算) 3.分布式Kmeans算法spark集群部署3…

如何解决笔记本电脑键盘失灵的问题:3个简单而有效的解决方法

当你使用笔记本电脑时,可能会遇到键盘失灵的情况,这是一件非常令人恼火的事情。然而,不要担心,下面将为你提供三个简单而有效的解决方法。 首先,检查连接和驱动程序。请确保键盘与笔记本电脑的连接正常,有时…