Как я могу ссылаться на одну модель из другой модели с помощью aws API Gateway
Скажем, у меня есть модель:
"Pet":{
"type": "object"
"properties": {
"name":{"type":"integer"},
"age":{"type":"integer"}
}
}
И другая модель:
"Human":{
"type": "object"
"properties": {
"name":{"type":"integer"},
"age":{"type":"integer"},
"pets":{
"type":"array"
"items": {
<This is where my question is>
}
}
}
}
Как я могу ссылаться на модель Pet в моей модели человека?
С развязностью я смог сказать:
"$ref": "#/definitions/Pet"
Но API Gateway, похоже, не позволяет этого.
1 ответ:
Если вы имеете в виду эталонную модель вне swagger, вы можете сделать это, указав модель с абсолютным url, как показано ниже
{"type":"array","items":{"$ref":"https://apigateway.amazonaws.com/restapis/<rest_api_id>/models/Pet"}}
Для swagger этот пример из спецификации open api показывает, как ссылаться на модели в swagger - https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v2.0/json/petstore.json
"Pets": { "type": "array", "items": { "$ref": "#/definitions/Pet" }
Обратите внимание, что api gateway не поддерживает ответ "default", поэтому, если вы пытаетесь импортировать вышеупомянутый petstore.JSON пример, вам нужно удалите поля "по умолчанию".