Java JSON整数数组的PACT

Java JSON整数数组的PACT,java,lambda,pact,Java,Lambda,Pact,获取了以下JSON: { "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 } 我想使用以下代码与PA

获取了以下JSON:

    {
   "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
}
我想使用以下代码与PACT签订一份合同:

DslPart body = newJsonBody((root) -> {
       root.array("consumer", a ->  a.integerType().integerType().integerType())
               .booleanType("last")
               .numberType("total_elements")
               .numberType("total_pages")
               .booleanType("first")
               .numberType("number_of_elements")
               .numberType("size")
               .numberType("number")
               .booleanType("empty");
   }).build();
虽然这是可行的,但我真的不喜欢使用integerType串联的数组契约


我的问题是:有没有更好的方法来表示X元素的数组,它们必须是Integer类型

您可以使用
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
}

您可以使用
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
}