为了账号安全,请及时绑定邮箱和手机立即绑定

Wiremock.Net 查询参数与 SOQL 查询

Wiremock.Net 查询参数与 SOQL 查询

C#
慕尼黑的夜晚无繁华 2022-12-04 10:31:27
我正在使用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


查看完整回答
反对 回复 2022-12-04
?
炎炎设计

TA贡献1808条经验 获得超4个赞

您可以尝试进行 url 编码。所以当你在做

SELECT Id from User where username='user@gmail.com'

你应该做的

SELECT %20Id%20from%20User%20where%20username%3D%27user%40gmail.com%27

希望能帮助到你。


查看完整回答
反对 回复 2022-12-04
  • 2 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信