PACT用于整数的JSON数组

时间:2019-05-14 14:39:02

标签: java lambda pact

获得以下JSON:

{"runtimeOptions": {
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "2.2.4"
    }
  }
}

,我想使用以下代码与PACT建立合同:

    {
   "content": [
       7,
       8,
       9,
       10
   ],
   "last": true,
   "total_elements": 9,
   "total_pages": 2,
   "first": false,
   "number_of_elements": 4,
   "size": 5,
   "number": 1,
   "empty": false
}

尽管这是可行的,但我真的不喜欢使用整数类型串联的数组协定。

我的问题是:有没有更好的方法来指示必须为Integer类型的X元素数组?

1 个答案:

答案 0 :(得分:0)

您可以使用minArrayLike

@Test
public void test() {
      DslPart body = newJsonBody((root) ->
              root.minArrayLike("content", 4, PactDslJsonRootValue.integerType(1), 4)
              .booleanType("last")
              .numberType("total_elements")
              .numberType("total_pages")
              .booleanType("first")
              .numberType("number_of_elements")
              .numberType("size")
              .numberType("number")
              .booleanType("empty"))
              .build();

      System.out.println(body.toString());
  }

生产

{
  "content": [
    1,
    1,
    1,
    1
  ],
  "number": 100,
  "last": true,
  "size": 100,
  "total_elements": 100,
  "total_pages": 100,
  "number_of_elements": 100,
  "first": true,
  "empty": true
}