При написании контракта Spring Cloud в Groovy я хочу указать явное выражение пути JSON. Выражение:
"$.['variants'][*][?(@.['name'] == 'product_0004' && @.['selected'] == true)]"
должен появиться в сгенерированном json
, например:
{
"request" : {
"bodyPatterns": [ {
"matchesJsonPath": "$.['variants'][*][?(@.['name'] == 'product_0004' && @.['selected'] == true)]"
} ]
}
}
для соответствия, например:
{ "variants": [
{ "name": "product_0003", "selected": false },
{ "name": "product_0004", "selected": true },
{ "name": "product_0005", "selected": false } ]
}
и чтобы не совпадал, например:
{ "variants": [
{ "name": "product_0003", "selected": false },
{ "name": "product_0004", "selected": false },
{ "name": "product_0005", "selected": true } ]
}
Возможно ли это с помощью потребителей, bodyMatcher или других средств Groovy DSL?