Недавно запустив новый проект на базе Spring с моей командой, мы решили оставить наши хорошо известные, но устаревшие методы документации Swagger 2.0 в пользу стандарта Swagger 3.0, следуя директивам OpenApi.
Чтобы не делать скачок слишком драматичным c, мы стараемся придерживаться стиля, основанного на конфигурации и аннотациях, автоматически генерируемой документации. Это, однако, не обходится без каких-либо трудностей.
Мы хотели бы определить схемы, используемые для некоторых многократно используемых типов только один раз, для всего проекта. А именно, мы используем org.bson.types.ObjectId
поля в сочетании с -to-string
и string-to-
сериализаторами / десериализаторами, использующими шестнадцатеричное представление типа. Это просто хорошо для наших контроллеров.
Между тем, Swagger UI (v. 1.2.9) настаивает на представлении любого ObjectId
поля и / или параметра в качестве полной формы объекта, то есть
"id": {
"timestamp": 0,
"counter": 0,
"time": 0,
"date": "2020-02-11T11:13:57.130Z",
"machineIdentifier": 0,
"processIdentifier": 0,
"timeSecond": 0
}
Есть ли четыре наших java код для определения схемы для типа ObjectId
- которая является внешней зависимостью - раз и навсегда, чтобы наш Swagger UI распознал этот тип и мог быть представлен в виде простой строки в любом встречающемся экземпляре?