Есть ли способ определить тип HashMap или Generic Object в разделе моделей? У меня есть служба REST, которая возвращает продукты, и эти продукты могут иметь разные варианты. Свойство options - это, в основном, HashMap, где id - это имя параметра, а его значение - значение параметра.Swagger HashMap тип собственности
ответ
Да, это возможно.
В OpenAPI (. FKA Кураж) 2,0 и 3,0, HashMap лучше всегда <string, something>
карта:
- Ключ всегда является строкой и не должны быть определены.
- Тип значения - это то, что вы хотите, и определяется с помощью
additionalProperties
.
Допустим, вы хотите, чтобы описать <string, string>
HashMap, как этот:
{
"key1": "value1",
"key2": "value2"
}
Соответствующее определение OpenAPI 2,0 будет:
definitions:
StringStringMap:
type: object
additionalProperties:
type: string
В OpenAPI 3.0 определение будет:
components:
schemas:
StringStringMap:
type: object
additionalProperties:
type: string
<string, object>
HashMap как этот
{
"key1": {"someData": "data", "someOtherData": true},
"key2": {"someData": "data2", "someOtherData": false}
}
будет определяться таким образом, в OpenAPI 2.0:
definitions:
ComplexObject:
type: object
properties:
someData:
type: string
someOtherData:
type: boolean
StringObjectMap:
type: object
additionalProperties:
$ref: "#/definitions/ComplexObject"
и в OpenAPI 3.0:
components:
schemas:
ComplexObject:
type: object
properties:
someData:
type: string
someOtherData:
type: boolean
StringObjectMap:
type: object
additionalProperties:
$ref: "#/definitions/ComplexObject"
Я просто покрыты это в глубине в part 4 of my OpenAPI (fka Swagger tutorial).
OpenAPI (fka. Swagger) specification explains briefly this too.
Это полезно и работает, если структура данных для значений - это весь тип ComplexObject. Однако у меня есть сценарий, в котором структура значений изменяется в зависимости от шаблона ключа. В JSON Schema я мог бы легко выразить это с помощью patternProperties. Любые мысли о том, как это можно выразить в OAS/Swagger? –
Я использую swagger 2.0. Я хочу получить
- 1. spring-mvc swagger Как спрятать модель собственности в swagger ui?
- 2. Как получить тип собственности?
- 3. общий тип класса собственности
- 4. Тип ответа Swagger-UI Тип контента
- 5. HashMap недействительной собственности в JAXB классе
- 6. Какой тип ведро HashMap
- 7. Пользовательские преобразования тип собственности значения
- 8. PHP тип переменной класса собственности
- 9. Использовать Java HashMap несколько Тип
- 10. Ошибка Swagger Ожидаемая строка типа, но найден тип integer
- 11. Создайте мой собственный тип в Swagger
- 12. Как получить тип собственности в CodeProperty? T4
- 13. тип собственности или класс с использованием отражения
- 14. Тип вывода и заимствования против передачи собственности
- 15. Generic Расширение собственности Тип приемника Несовпадение
- 16. C# Динамический тип в GenericCollection собственности
- 17. EF случайно видит неправильный тип собственности
- 18. Тип собственности для контактного списка в blackberry?
- 19. Какой подходящий тип для lazyloaded собственности?
- 20. Тип объекта значение HashMap в Java
- 21. Получить соответствующий тип объекта из HashMap
- 22. Как объявить тип HashMap в C++
- 23. Привязать к собственности собственности
- 24. Swagger and Date
- 25. Полиморфизм параметров Swagger
- 26. Аннотации данных в Swagger
- 27. HTTP 415 Неподдерживаемый тип носителя для интерфейса Swagger в IE11
- 28. Как определить XSD как «простой тип» в Swagger?
- 29. Swagger на Scala, тип uuid и long undefined
- 30. Как я должен обрабатывать тип ответа приложения/javascript в Swagger?
Какой вкус Swagger вы используете? (jax-rs, play и т. д.) – Eyal
@Eyal: Мы используем swagger-ui и имеем ту же проблему. У вас есть решение или обход? –
@JanHartung Нет, у нас нет слишком большого количества карт в нашем api ... вы можете подписаться на [этот запрос функции в системе отслеживания ошибок swagger.] (Https://github.com/wordnik/swagger- core/issues/244) – Eyal