Groovy 引用spring云契约中响应的请求查询参数
如何在spring云契约测试中从响应中引用请求查询参数 假设我有以下代码:Groovy 引用spring云契约中响应的请求查询参数,groovy,spring-test,spring-cloud-contract,Groovy,Spring Test,Spring Cloud Contract,如何在spring云契约测试中从响应中引用请求查询参数 假设我有以下代码: Contract.make { description("Contract description") request { method 'GET' urlPath('/some/url') { queryParameters { parameter 'user_id': $(consumer(~/\d+/), pro
Contract.make {
description("Contract description")
request {
method 'GET'
urlPath('/some/url') {
queryParameters {
parameter 'user_id': $(consumer(~/\d+/), producer(111))
parameter 'session_id': $(consumer(~/\d+/), producer(222))
parameter 'segment_ids': $(consumer(~/"\[?(\d|,\s*)*\]?/), producer([1, 2, 3]))
}
}
}
response {
status 200
body([1, 2, 3])
headers {
contentType applicationJsonUtf8()
}
}
}
我想用请求中的段ID
值替换响应正文中的[1,2,3]
就我而言:
$(消费者(fromRequest().query(“段ID”)),生产者(~/“\[?(\d|,\s*)*\]?/)
还有一个完整的答案
Contract.make {
priority 1
description("Should return available segments for pachinko-game service")
request {
method 'GET'
urlPath('/segmentation-api/evaluation') {
queryParameters {
parameter 'user_id': $(consumer(~/\d+/), producer(111))
parameter 'session_id': $(consumer(~/\d+/), producer(222))
parameter 'segment_ids': $(consumer(~/"\[?(\d|,\s*)*\]?/), producer([1, 2, 3]))
}
}
}
response {
status 200
body($(consumer(fromRequest().query("segment_ids")), producer(~/"\[?(\d|,\s*)*\]?/)))
headers {
contentType applicationJsonUtf8()
}
}
}
使用fromRequest().query(“请求参数”)
就我而言:
$(消费者(fromRequest().query(“段ID”)),生产者(~/“\[?(\d|,\s*)*\]?/)
还有一个完整的答案
Contract.make {
priority 1
description("Should return available segments for pachinko-game service")
request {
method 'GET'
urlPath('/segmentation-api/evaluation') {
queryParameters {
parameter 'user_id': $(consumer(~/\d+/), producer(111))
parameter 'session_id': $(consumer(~/\d+/), producer(222))
parameter 'segment_ids': $(consumer(~/"\[?(\d|,\s*)*\]?/), producer([1, 2, 3]))
}
}
}
response {
status 200
body($(consumer(fromRequest().query("segment_ids")), producer(~/"\[?(\d|,\s*)*\]?/)))
headers {
contentType applicationJsonUtf8()
}
}
}