독립형 wiremock으로 API mock을 만들려고합니다. 응답 본문은 요청 본문의 특성에 따라 다릅니다.WireMock (JSON/XML 아님)에서 Body matching을 요청하십시오.
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"
}
}
}
그러나 내 주요 요구 사항은 구글 protobuf 처리하는 것입니다 내가 조롱 응답하는 API를 조롱하는 데 사용하는 그것 대신에 텍스트 형식을 사용하려합니다. 따라서 요청 파일은 텍스트 형식이며 큰 따옴표 나 각 줄 끝의 쉼표와 같은 JSON 유효성 검사가 없습니다.
JSON 경로를 사용하여 wiremock이 요청 본문과 일치하지 않음을 발견했습니다. 부적절한 형식으로 인해 예를 들어,이 같은 요청은 : key1
= value1
가 일치해야한다고하고 response1.json
반환해야한다, 또는 key1
= someOtherValue
은 다음 response2.json
반환해야 할 때 수 있습니다
{
animal {
type {
key1: "value"
key2: value2
}
}
}
대신
{
"animal":{
"type":{
"key1":"value",
"key2":"value2"
}
}
}
의. 그리고 예, 키는 유형의 일부이며 유형은 동물의 일부입니다. 이 요청 본문을 어떻게 일치시킬 수 있습니까?
오른쪽, 난 그냥 나중에 알아 냈어. 응답 해 주셔서 감사합니다. – xploreraj
이것은 하나 더 있습니다 : ''bodyPatterns ': [{ "contains": "type : CREDIT" } – xploreraj