Когда я определяю requestBody, он не отображается в документах swagger. Я хочу создать массив изображений и загрузить один файл для файла gpx в файле swagger. Как я могу добиться того, чтобы requestBody отображалось так же, как свойство параметров?
До сих пор я пытался объявить это как код ниже. Я не пытался сделать из него компонент requestBodies и вызывать эту ссылку, но я не думаю, что это проблема.
/**
* @openapi
* /routes:
* post:
* description: Create a route
* tags:
* - Routes
* security:
* - CustomToken: []
* requestBody:
* content:
* multipart/form-data:
* schema:
* type: object
* required:
* - images
* - track
* properties:
* images:
* type: array
* minItems: 1
* maxItems: 3
* items:
* type: string
* format: binary
* track:
* type: string
* format: binary
* encoding:
* images:
* contentType: image/png, image/jpeg
* parameters:
* - name: name
* description: Name of the route.
* in: query
* required: true
* type: string
* example: Utrecht naar Den Bosch
* - name: description
* description: Description of the route.
* in: query
* required: true
* type: string
* example: Een route die langs de prachtigste punten gaat op de route van utrecht naar Den Bosch.
* - name: price
* description: The price of the route using the purchasable coins as the currency.
* in: query
* required: true
* type: integer
* minimum: 0
* example: 1
* - name: rating
* description: The rating the route has been given.
* in: query
* required: false
* type: integer
* minimum: 1
* maximum: 5
* example: 5
* - name: tags
* description: The tags that define if the route contains dikes, forests, mountains or cities. To select multiple values hold ctrl and click on the values you want.
* in: query
* required: true
* type: array
* minItems: 1
* maxItems: 4
* uniqueItems: true
* items:
* type: string
* enum:
* - Dike
* - Forest
* - Mountain
* - City
* example:
* - Dike
* - Forest
* responses:
* 200:
* description: succesfully created a route
*/
Согласно примерам, которые я нашел, именно так вы объявляете requestBody. Но значения не отображаются в файле документации swagger, как показано здесь: 
@Helen Я использую OpenAPI 3.0, если я просматриваю сгенерированный файл json, он показывает следующее: {"info":{"title":"<main-service-gateway>","version":"1.0.0"},"openapi":"3.0.0","servers":[]
@Helen, а также какие части написаны в OpenAPI 2.0? Потому что я недавно перешел с 2.0 на 3.0, и мне все еще нужно кое-что изменить, чтобы получить синтаксис 3.0. Я думал, что все изменил, поэтому хотел бы знать, что я забыл изменить. Заранее спасибо!
Какую библиотеку/фреймворк вы используете для создания файла OpenAPI из этих аннотаций? Кроме того, какая у вас версия пользовательского интерфейса Swagger? (Откройте инструменты разработчика браузера > Консоль и оцените versions.)
Я использую библиотеку openapi-jsdoc npmjs.com/package/openapi-jsdoc. Версия swagger-ui — «3.0.12/g2567e51-dirty».



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


3.0.12 — это очень старая версия пользовательского интерфейса Swagger, которая не поддерживает OpenAPI 3.0 (поддержка OAS3 была добавлена в пользовательский интерфейс Swagger версия 3.1). Вам необходимо обновить пользовательский интерфейс Swagger. Последняя версия (3.22 на момент написания) правильно отображает тела запросов OpenAPI 3.0.
Есть также несколько проблем с аннотациями:
В теле запроса encoding должен быть на том же уровне, что и schema, а не внутри schema.
Определения типов параметров должны быть заключены в schema, например:
* - name: price
* description: The price of the route using the purchasable coins as the currency.
* in: query
* required: true
* schema: # <------
* type: integer
* minimum: 0
* example: 1
...
* - name: tags
* description: The tags that define if the route contains dikes, forests, mountains or cities. To select multiple values hold ctrl and click on the values you want.
* in: query
* required: true
* schema: # <------
* type: array
* minItems: 1
* maxItems: 4
* uniqueItems: true
* items:
* type: string
* enum:
* - Dike
* - Forest
* - Mountain
* - City
* example:
* - Dike
* - Forest
Возможно, вы знаете, как я могу обновить версию swagger-ui? У меня есть папка в моем API, которая содержит все компоненты swagger-ui, такие как: swagger-ui-bundle.js, swagger-ui-standalone-preset.js, swagger-ui.css и swagger-ui.js.
Если у вас есть swagger-ui в качестве зависимости в package.json, обновите там версию. Если вы добавили эти файлы вручную, загрузите Репозиторий пользовательского интерфейса Swagger и возьмите соответствующие файлы из папки dist.
Используете ли вы OpenAPI 2.0 (обозначается
swagger: "2.0"в сгенерированном файле определения API) или OpenAPI 3.0 (openapi: 3.0.0)? В ваших аннотациях используется сочетание синтаксиса 2.0 и 3.0, возможно, поэтому он не работает.