Я пытаюсь создать макет API с автономным wiremock. Тело ответа зависит от атрибута в теле запроса.Запрос соответствия тела в WireMock (не JSON/XML)
С JSON, я был в состоянии сделать. Ниже приведен пример отображения:
{
"request":{
"method":"POST",
"bodyPatterns":[
{
"matchesJsonPath":"$.somekey.subkey[?(@.attribute == 'VALUE_123')]"
}
]
},
"response":{
"status":200,
"bodyFileName":"res.dat",
"headers":{
"Content-Type":"application/x-proto;charset=UTF-8"
}
}
}
Однако мое главное требование, чтобы иметь дело с Google Protobuf, и я пытаюсь использовать текстовый формат, вместо него, что насмешники будет использовать для имитации API для ответа. Таким образом, файл запроса находится в текстовом формате и не имеет каких-либо подтверждений JSON, таких как двойные кавычки, или запятой в конце каждой строки и т. Д.
Я обнаружил, что с использованием пути JSON проводное соединение не может соответствовать телу запроса из-за его неправильного формата. Например, запрос, как это:
{
animal {
type {
key1: "value"
key2: value2
}
}
}
вместо
{
"animal":{
"type":{
"key1":"value",
"key2":"value2"
}
}
}
Позволяет сказать key1
= value1
должен соответствовать и response1.json
должны быть возвращены, или когда key1
= someOtherValue
, то response2.json
должен быть возвращен. И да, ключ является частью типа, а тип - частью животного. Как я могу добиться соответствия этого запроса?
Да, я просто понял, что позже. Спасибо, что ответили. – xploreraj
Это еще одна: '' bodyPatterns ": [{ " содержит ":" тип: КРЕДИТ " }]' – xploreraj