我可以从GET方法中获取查询参数并进行响应吗?

时间:2018-03-26 11:59:31

标签: mocking query-parameters wiremock

我可以从GET方法获取查询参数并进行响应吗?

例如,我有模拟:

"request": {
  "method": "GET",
  "urlPathPattern": "/cashboxes/[0-9]+/registration"
},

"response": {
  "status": 200,
  "jsonBody": {}
}

我想,输入数字[0-9] +用查询参数名称替换为正文。

我认为:

URL: http://baseUrl/cashboxes/1/registration

"response": {
  "status": 200,
  "jsonBody": {
     "cashboxes_id": "1"
  }
}

1 个答案:

答案 0 :(得分:1)

这当然可以通过Response Templates的机制实现。这允许您使用许多请求元数据项,也可以通过其对Handlebars模板的支持来使用正文本身。

在你的例子中,它将是这样的:

{
    "request": {
        "method": "GET",
        "urlPathPattern": "/cashboxes/[0-9]+/registration/[0-9]+"
    },
    "response": {
        "status": 200,
        "jsonBody": {
            "status": "status one",
            "URLpat1": "{{request.path.[1]}}",
            "URLpat2": "{{request.path.[3]}}"

        },
        "headers": {
            "Content-Type": "application/json"
        },
        "transformers": ["response-template"]
    }
}

当发送此GET请求时:

http://localhost:9999/cashboxes/1000/registration/2000

然后收到此回复:

{
    "status": "status one",
    "URLpat1": "1000",
    "URLpat2": "2000"
}