我一直在尝试如何正确地实现Spring Cloud Contract Verifier,但是我试图通过contract强制执行的JSON很复杂,我不确定如何在Groovy表示中处理它。JSON主体有时包含键的子对象,有时包含对象数组。
response {
status(200)
headers { contentType applicationJson() }
body(
"attrbte1": 777310402,
"attrbte2": 100,
"attrbte3": "CAPSULE",
"attrbte4": "01655",
"attrbte5": "281604",
"attrbte6": "28160420",
"genericCodeNo": 16353,
"stc": {
"stcAttrbt1": 10000001600,
"stcAttrbt2": "8875",
"stcAttrbt3: "2008-08-04T00:00:00.000+0000",
"stcAttrbt4": null
},
"gtc": {
"gtcAttbt1": 10000000028,
"gtcAttbt2": "0N",
"gtcAttbt3": "2008-08-04T00:00:00.000+0000"
},
"etcs": [
{
"etcAttbt1": 530,
"etcAttbt2": null,
"etcAttbt3": null
}
],
"icds": [
{
"icdCode": "F31.3",
"icdCode2": "F45.232"
},
{
"icdCode": "F40.01",
"icdCode2": "F44.2341"
}
]
)给定子对象用大括号括起来,groovy认为它是在打开/关闭一个语句/操作,(有点像是...)但它是JSON主体的一部分。我尝试了三重单引号斜杠(‘/),但它将正文视为一个连续的字符串,而不检查各个属性。
问题是,是否有一个转义序列可以忽略大括号,同时保留正文的层次布局。
发布于 2020-06-26 11:22:25
使用方括号来创建对象(是的,我知道在JSON中方括号是用于数组的,这很奇怪,它不是我发明的)
您可以使用引号或不使用引号将字段名称括起来,它们似乎都有效。
body([
stringField1: value(regex(".*")),
stringField2: value(regex(alphaNumeric()),
innerObject1: [
innerStringField1: "Hardcoded1",
innerIntegerField1: anyInteger()
]
])等?如果方括号是用于对象的,我如何制作JSON列表?
双方括号。我是认真的。
body(
[[
stringFieldOfObjectInList: regex(".*")
]]
)如何创建一个整数列表,比如ids?
老实说,我还没试过。但我希望如果你在数组中没有字段名,Spring CC会假设它是一个原语,它将“只是工作”。
发布于 2020-06-25 08:52:29
response {
status(200)
headers { contentType applicationJson() }
body(**'''**
"attrbte1": 777310402,
"attrbte2": 100,
"attrbte3": "CAPSULE",
"attrbte4": "01655",
"attrbte5": "281604",
"attrbte6": "28160420",
"genericCodeNo": 16353,
"stc": {
"stcAttrbt1": 10000001600,
"stcAttrbt2": "8875",
"stcAttrbt3: "2008-08-04T00:00:00.000+0000",
"stcAttrbt4": null
},
"gtc": {
"gtcAttbt1": 10000000028,
"gtcAttbt2": "0N",
"gtcAttbt3": "2008-08-04T00:00:00.000+0000"
},
"etcs": [
{
"etcAttbt1": 530,
"etcAttbt2": null,
"etcAttbt3": null
}
],
"icds": [
{
"icdCode": "F31.3",
"icdCode2": "F45.232"
},
{
"icdCode": "F40.01",
"icdCode2": "F44.2341"
}
]**'''.toString()**
)https://stackoverflow.com/questions/52650130
复制相似问题