You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于主机名配置WireMock服务器并设置存根请求?

WireMock 配置相关问题解答

你的基础配置代码如下:

public void mock(){
    WireMockServer wireMockServer = new WireMockServer(443);
    wireMockServer.start();
    configureFor("localhost", 443);
    stubFor(post(urlEqualTo("/path/link"))
            .willReturn(aResponse().withBody("hello world").withStatus(200)));
}

问题1:模拟HTTPS无端口主机名请求时,端口如何确定?

  • HTTPS协议的默认端口是443,当请求为https://apigeew-uat.company.net/path/link这类未指定端口的地址时,客户端会自动使用443端口与WireMock服务器建立连接。
  • 你的WireMock实例刚好启动在443端口,只要客户端能将apigeew-uat.company.net解析到WireMock所在的服务器(比如通过本地hosts映射),就能正常匹配你定义的stub规则。

问题2:configureFor的作用是什么?

  • configureFor是用来指定WireMock客户端API(比如stubFor、verify等)的目标服务端地址和端口。
  • 简单来说:WireMockServer是运行的服务端实例,而stubFor这类方法属于客户端调用,configureFor就是告诉客户端要把stub配置、验证请求等操作发送到哪个WireMock服务端上。
  • 如果不调用configureFor,默认会连接localhost:8080,如果你的WireMock服务端启动在其他端口(比如你的代码里的443),stub规则就无法被正确注册到服务端,导致请求无法匹配。
  • 你的代码里configureFor("localhost", 443)就是让后续的stubFor把POST接口规则提交到本地443端口的WireMock服务端,确保服务端能识别并处理对应请求。

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:47:04