我很难弄清楚如何在契约合同中用结构上不同的对象表示数组。
还需要定义匹配器是否应该 与逻辑AND(所有匹配项必须匹配)或OR(至少 一位匹配者必须匹配)。 AND应该是默认值,但是有 合理的情况
这可以用来“或”两种不同类型的对象吗?
这是我正在尝试通过pact-jvm DSL建模的响应,suggestions
数组包含两个具有不同模式的不同对象'1'和'3'-
{
"suggestions": [
{
"display_name": "Potato",
"type": 1,
"keyword": "Potato",
"category_l1": {
"icon_image_url": "XXXXX",
"id": 1489,
"name": "Potato"
}
},
{
"type": 3,
"suggestion": {
"display_name": "New Potato (Aloo)",
"name": "New Potato"
}
}
]
}
我到目前为止拥有的代码:
private DslPart getBody() {
return new PactDslJsonBody()
.eachLike("suggestions", 1)
.stringType("display_name")
.integerType("type")
.stringType("keyword")
.object("category_l1")
.stringType("icon_image_url")
.stringType("name")
.integerType("id")
.closeObject()
.closeObject()
.closeArray();
}
答案 0 :(得分:1)
使用Pact建模目前尚不容易,但前提是每个项目都与提供的示例相似。有关讨论,请参见https://github.com/pact-foundation/pact-specification/issues/38