Arrays Wiremock-如何匹配JSON中多部分/表单数据的数组元素的所有排列?

Arrays Wiremock-如何匹配JSON中多部分/表单数据的数组元素的所有排列?,arrays,json,yaml,wiremock,Arrays,Json,Yaml,Wiremock,我试图使用JSON Wiremock模拟YAML API,以获取PUT多部分/表单数据。多部分包含两个元数据数组。如何匹配每个数组中的一组特定值(或正则表达式),而不考虑顺序 我们一定要使用YAML 2.0(如果您想知道的话),这就是为什么我们有这两个元数据数组。我已经能够成功地匹配数组的特定值(例如,对于fileMetadataName,我可以匹配“permissions,owner”),但我还没有找到如何匹配整个潜在值集(5个值,所有可能的排列,请参见下面的YAML) 以下是JSON Wir

我试图使用JSON Wiremock模拟YAML API,以获取PUT多部分/表单数据。多部分包含两个元数据数组。如何匹配每个数组中的一组特定值(或正则表达式),而不考虑顺序

我们一定要使用YAML 2.0(如果您想知道的话),这就是为什么我们有这两个元数据数组。我已经能够成功地匹配数组的特定值(例如,对于fileMetadataName,我可以匹配“permissions,owner”),但我还没有找到如何匹配整个潜在值集(5个值,所有可能的排列,请参见下面的YAML)

以下是JSON Wiremock文件,它可以匹配数组的一种情况:

{
        "request": {
                "method": "PUT",
                "urlPath": "/files",
                "headers": {
                        "Content-Type": { "contains": "multipart/form-data"},
                        "Source": { "matches": "POC(.+)"}
                },
                "multipartPatterns": [
                        {
                                "headers": {
                                        "Content-Disposition": {
                                                "contains": "name=\"typeOfFile\""
                                        }
                                },
                                "bodyPatterns": [ {
                                        "matches": "PDF"
                                } ]
                        },
                        {
                                "headers": {
                                        "Content-Disposition": {
                                                "contains": "name=\"fileMetadataName\""
                                        }
                                },
                                "bodyPatterns": [ {
                                        "matches": "permissions,owner"
                                } ]
                        }
                ]
        },
        "response": {
                "status": 201,
                "jsonBody": {
                        "DocumentId": "123456789-123456789"
                }
        }
}
下面是YAML的摘录,描述了多部分输入:

paths:
  '/files':
    put:
      tags:
        - ProofOfConcept
      summary: Upload a file in the files repository
      description: Do the job
      operationId: putFile
      consumes:
        - multipart/form-data
      produces:
        - application/json
      parameters:
        - name: Source
          description: ID of the sender
          in: header
          type: string
          required: true
        - name: theFile
          description: The file to be uploaded
          in: formData
          required: true
          type: file
        - name: typeOfFile
          description: 'File type: PDF, JPG...'
          in: formData
          required: true
          type: string
        - name: fileMetadataName
          description: 'Metadata name. Possible values are: permissions, owner, group, creationDate, appGeneratedId (format: <app-name>;<id>)'
          in: formData
          type: array
          items:
            type: string
        - name: fileMetadataValue
          description: Value associated to the corresponding metadata name
          in: formData
          type: array
          items:
            type: string
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DocumentId'
对于fileMetadataValue,我希望能够匹配所有排列的正则表达式值(例如,权限的([0-9]{3,3}))

permissions, owner, group, creationDate, appGeneratedId