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

如何在WireMock.net中匹配URL模板请求?

在WireMock.net中匹配/path/{id}格式的URL请求

WireMock.net 提供了多种方式匹配带占位符的URL路径,以下是两种最常用的实现方案:

1. 路径模板匹配(官方推荐)

直接通过WithPath方法传入带占位符的路径模板/path/{id},WireMock会自动匹配所有符合该格式的请求,同时还能在响应逻辑中获取id参数的值。

示例代码:

using WireMock.Server;
using WireMock.RequestBuilders;
using WireMock.ResponseBuilders;

var server = WireMockServer.Start();

server.Given(Request.Create()
        .WithPath("/path/{id}")
        .UsingGet())
    .RespondWith(Response.Create()
        .WithStatusCode(200)
        .WithBody(request => $"匹配到的ID是: {request.PathParameters["id"]}"));

这段代码会匹配所有GET /path/xxx格式的请求(比如/path/1234、/path/abc),并返回包含对应id值的响应。

2. 正则表达式匹配

如果需要对id格式做严格限制(比如仅允许数字),可以用正则表达式定义匹配规则:

示例代码:

server.Given(Request.Create()
        .WithPath(@"^/path/\d+$") // 仅匹配id为纯数字的请求,如/path/1234
        .UsingGet())
    .RespondWith(Response.Create()
        .WithStatusCode(200)
        .WithBody("匹配到数字ID的请求"));

这里的正则^/path/\d+$确保只有/path/后跟随纯数字的请求才会被匹配。

验证匹配效果

启动服务器后,发送以下请求即可验证:

  • GET http://localhost:{端口}/path/1234 → 会被上述两种规则匹配(若同时定义,优先级取决于规则创建顺序)
  • GET http://localhost:{端口}/path/abc → 仅会被第一种路径模板规则匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:02:03