Pact 测试 - Json 对象中包含多个键值对的请求正文,但键可以是任何内容

Pact Testing - Json Request body with multiple key value pair in object, but keys can be anything

我有一个 json 请求正文如下 -

{"attributes":{"key1":"abc","key2":"xyz"}} - 不仅限于 2 个键值对。可以是任意数字(1 个或多个)

key1, key2 - 可以是任何字符串值。即 - 在一个请求中,key1 可以是“年龄”,在下一个请求中 - key1 可以是“姓名”。

如何为此请求生成 PactDslJsonBody。

我的代码-

PactDslJsonBody dsl = new PactDslJsonBody();
        dsl.object("attributes")
        .stringType("key1")
        .closeObject();

这会创建一个匹配规则 -

"$.attributes.key1": {

但我希望它能处理任意数量的键值对,而且键可以是任何字符串

类似于 - "$.attributes.*": {

如果不支持上述情况,有没有办法检查对象是否不为 null 且是否具有某些值?

请参阅eachKeyLikehttps://docs.pact.io/implementation_guides/jvm/consumer/#matching-any-key-in-a-map

这会忽略键的名称,但会指定它应该具有的值的类型。