массив с тем же именем ключа в Swagger - PullRequest
0 голосов
/ 28 октября 2019

У меня есть jax-запросasticsearch, как показано ниже, и я хочу, чтобы он отображался в документации API swagger.

{
    "query" : {
                "bool": {
                  "must": [
                    {"match" : {"foo1": "bar1"}},
                    {"match" : {"foo2": "bar2"}},
                    {"match" : {"foo2": "bar3"}}
                  ]
                }
              }
}

Какое определение должно использоваться в этой ситуации?

Я использую это определение,но результат не тот же, что я хочу.

definitions:
  match_foo1:
    type: object
    required:
      - match
    properties:
      match:
        type: object
        properties:
          foo1:
            type: string
        required:
          - foo1
  match_foo2:
    type: object
    required:
      - match
    properties:
      match:
        type: object
        properties:
          foo2:
            type: string
        required:
          - foo2
  match_foo3:
    type: object
    required:
      - match
    properties:
      match:
        type: object
        properties:
          foo3:
            type: string
        required:
          - foo3
  Pet:
    type: object
    required:
      - query
    properties:
      query:
        type: object
        properties:
          bool:
            type: object
            properties:
              must:
                allOf: [
                  {"$ref": '#/definitions/match_foo1'},
                  {"$ref": '#/definitions/match_foo2'},
                  {"$ref": '#/definitions/match_foo3'}
                  ]
            required:
              - must
        required:
        - bool

Приведенное выше определение дает такой результат:

{
  "query": {
    "bool": {
      "must": {
        "match": {
          "foo1": "string",
          "foo2": "string",
          "foo3": "string"
        }
      }
    }
  }
}

Мне нужно "должен" в форме массива, который имеет вложенный объект. я делаю это несколькими способами, но в большинстве из-за одного и того же ключевого имени (соответствия), сваггер извлекает «соответствие» в корень и три объекта foo * в дочерней форме.

спасибо всем, кто мне помогает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...