У меня есть 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 * в дочерней форме.
спасибо всем, кто мне помогает:)