我正在使用WireMock-Net存根请求。我想执行以下请求:要求:http://localhost:63078/services/query/?q=SELECT Id from User where username='user@gmail.com'该请求由 SOQL 查询组成。这是我尝试做的片段:stub.Given(Request.Create() .WithPath("/services/query/") .WithParam("q", "SELECT Id from User where username='user@gmail.com'") .UsingGet()) .RespondWith(Response.Create() .WithStatusCode(200) .WithHeader("Content-Type", "application/json") .WithBodyAsJson(new { Id = "5bdf076c-5654-4b3e-842c-7caf1fabf8c9" }));问题是:wiremock 总是回复 404。我也试过使用 RegexMatcher,如下所示: .WithPath("/services/query/") .WithParam("q", new WireMock.Matchers.RegexMatcher("SELECT Id from User where username.*$"))但我仍然得到 404。我认为问题出在查询参数中,因为它有两个等号“=”。有人可以帮我解决这个问题吗?
2 回答
狐的传说
TA贡献1804条经验 获得超3个赞
这已在 WireMock.Net 的最新版本 (1.0.19) 中修复
请重试并将此答案标记为已接受(如果它对您有效)。
详细信息:解决方案基于Get url parameters from a string in .NET
炎炎设计
TA贡献1808条经验 获得超4个赞
您可以尝试进行 url 编码。所以当你在做
SELECT Id from User where username='user@gmail.com'
你应该做的
SELECT %20Id%20from%20User%20where%20username%3D%27user%40gmail.com%27
希望能帮助到你。
- 2 回答
- 0 关注
- 73 浏览
添加回答
举报
0/150
提交
取消