Существует тип запроса/ответа, используемый контроллером, который включает свойство типа Object.
Код: Выделить всё
public class TypeWithObject {
private Object value;
public Object getValue() { return value; }
public void setValue(Object value) { this.value = value; }
}
Спецификация OpenAPI 3.0 указывает, что схема без какого-либо типа будет соответствовать любому типу данных.
Схема без типа соответствует любому типу данных — числам, строкам, объектам и т. д.
Правильным способом моделирования этого будет следующий Swagger определение, где отсутствует свойство type для значения:
Код: Выделить всё
{
"openapi": "3.0.1",
"info": {
"title": "OpenAPI definition",
"version": "v0"
},
"components": {
"schemas": {
"TypeWithObject": {
"type": "object",
"properties": {
"value": {}
}
}
}
}
}
Я предпринимал различные попытки заставить приложение генерировать этот тип как произвольный тип OpenAPI, но безуспешно. Одна вещь, которую я обнаружил, экспериментируя с использованием специального ModelConverter для использования схемы Swagger с нулевым типом, заключается в том, что Swagger Core в конечном итоге преобразует тип в объект как часть своей внутренней обработки. В настоящее время это задокументировано как запрос открытой функции Swagger Core как swagger-core#4014.
При всем этом: как я могу заставить свой сгенерированный тип использовать произвольный тип OpenAPI?
Мобильная версия