0

我有以下请求网址:

http://localhost:9082/v1/action/query

我在wiremock请求文件中有以下请求:

  1. {"queryString":"从 mydetails 中选择 firstname、lastname、workphone、id、accountId}

    {“请求”:{“方法”:“POST”,“url”:“/v1/action/query”,“bodyPatterns”:[{“包含”:“queryString=from mydetails”}]},“响应” : { "status": 200, "bodyFileName": "mydetails.json", "headers": { "Content-Type": "application/json" } } }

  2. {"queryString":"从 myinfo 中选择 firstname, lastname, workphone, id, accountId}

    {“请求”:{“方法”:“POST”,“url”:“/v1/action/query”,“bodyPatterns”:[{“包含”:“queryString = from myinfo”}]},“响应” :{“状态”:200,“bodyFileName”:“myinfo.json”,“标题”:{“内容类型”:“应用程序/json”}}}

现在我对这两个请求都有相同的 URL。如果我们在 queryString Json key 中获取“来自 myinfo”的表,我必须验证是否在请求正文中。然后返回 myinfo 文件。如果我们有“来自 Mydetails”,那么我的详细信息就会被调用。

我们有什么建议吗?

4

1 回答 1

0

您可以使用该matchingJsonPath功能来匹配其中一个。

假设一个 JSON 映射...

{
    "request": {
         ...
        "bodyPatterns": [{
            "matchesJsonPath": "$(@.queryString =~ .*/myinfo/.*)"
        }]
    }
}

可能需要修复确切的 JsonPath 查询,这只是我认为的粗略估计

于 2020-12-03T18:09:27.450 回答