Поскольку этот поток немного разветвился в общем обсуждении текущих реализаций с плавающей запятой, я бы добавил, что есть проекты по исправлению их проблем.
Взгляните на https: // posithub.org/, который демонстрирует тип номера, называемый posit (и его предшественник unum), который обещает предложить лучшую точность с меньшим количеством бит. Если мое понимание верное, оно также фиксирует проблемы в вопросе. Весьма интересный проект, человек, стоящий за ним, является математиком Dr. Джон Густафсон . Все это с открытым исходным кодом, с множеством реализаций в C / C ++, Python, Julia и C # ( https://hastlayer.com/arithmetics ).
Первый случай правильный, и в наши дни swagger-ui генерирует выбор значений перечислимого числа с множественным выбором.
Это будет зависеть от того, что вы хотите перечислить:
Каждое значение перечисления ДОЛЖНО быть описанного типа объекта
Первые синтаксические средства Это возможные значения String в этом массиве
AnArray:
type: array
items:
type: string
enum:
- MALE
- FEMALE
- WORKER
Этот массив может содержать несколько строк, но каждая строка должна иметь значение MALE, FEMALE или WORKER.
[/g2]
Второй означает . Это возможные значения этого массива
AnotherArray:
type: array
items:
type: string
enum:
-
- FEMALE
- WORKER
-
- MALE
- WORKER
Каждое значение перечисления является массивом. В этом примере этот массив может иметь только возможное значение ["FEMALE", "WORKER"] и ["MALE", "WORKER"].
К сожалению, даже если этот синтаксис действителен, показаны в интерфейсе Swagger.