我使用WireMock从远程服务器进行存根响应。在文件夹wiremock/mappings中,我有许多设置存根规则的文件。这里的例子是:
{
"request": {
"method": "GET",
"url": "/merchant"
},
"response": {
"headers": {
"Content-Type": "application/json"
},
"status": 200,
"fixedDelayMilliseconds": 3000,
"bodyFileName": "stub_response.json"
}
}正如您所看到的,当我得到请求/merchant时,然后从文件stub_response.json返回存根响应。好的。工作很好。
但假设我需要临时禁用此响应。是否有可能关闭存根响应并从远程服务器返回真正的响应?
我需要这样的旗子:"disable" : true
在WireMock中有可能吗?
发布于 2018-06-01 14:19:30
您可以使用WireMock管理界面禁用规则。如果对http://.../__admin/mappings/<guid>调用DELETE命令,则映射将被删除。
通过对http://.../__admin/执行get命令,可以获得所有guids的列表
如果您想用一个真正的响应来代替一个映射,而不是一个存根响应,那么您可以添加第二个映射,它的优先级低于存根响应,并且该代理可以一直到真实的地址。通常,您的存根响应不会被使用,但是当您删除短消息响应时,Wiremock将代理到真正的地址,因为它将成为最高优先级的映射。
要添加代理,请将以下内容添加到响应映射中
"proxyBaseUrl" : "http://otherhost.com",
要设置映射的优先级,请将以下内容添加到映射JSON中。
"priority": 1,
发布于 2018-06-01 06:22:36
目前,规则没有禁用属性。您可以删除一个wiremock规则,并在以后重新添加它,这在功能上是相同的。
发布于 2021-08-19 02:41:24
如果您将Wiremock作为流程运行,则可以将其设置为记录方式,这将有效地将所有请求代理到目标URL。
打开管理员/记录器 (假设您在默认端口8080上启动了WireMock ),在该屏幕上您必须输入目标URL并单击"Record“按钮。除非你停止录音,否则它会让这个威瑞克充当代理。
如果记录不是您实际需要的东西,则可以取消记录存根映射。虽然这稍微滥用了Recorder特性,但这是一种快速而简单的方法,可以暂时将您的Wiremock转换为代理,而不是使用存根进行响应。
https://stackoverflow.com/questions/50620239
复制相似问题