无法在内容类型为 post 的请求上创建模拟:application/x-www-form-urlencoded

Unable to create mocks on post request with content-type : application/x-www-form-urlencoded

我正在与 mountebank 合作为外部 REST 创建模拟 API 这是一个带有 content-type : application/x-www-form-urlencoded.

的 POST 请求

API 的格式是

https://<url>/dpay/MPmt

并且数据负载以 msg=01223~20170607114321~ABC~12345~NA~NA

格式传递

我必须在 ~ABC~12345~ 的基础上进行搜索,它将保持不变。

我使用了 contains、matches 和 equals 谓词,但在请求正文中传递负载时无法 运行 它们。

但是,当将有效负载作为查询参数传递时,我能够 运行ning

https://url/dpay/MPmt?msg=01223~20170607114321~ABC~12345~NA~NA

但是在请求正文中传递时找不到完成它的方法。

任何指点将不胜感激。

使用谓词 "contains" 并仅传递您的匹配字符串。我怀疑你正在使用

"contains" : { "body" : { "msg": "~ABC~12345~" } }

这将在请求正文中查找 msg 变量,而是使用

"contains" : {"body": "~ABC~12345~"}

它会直接在你的请求正文中匹配它。

我遇到了同样的问题,希望对你有用。