Для конечной точки, использующей Spring WebFlux для загрузки файла, документация интерфейса пользователя Swagger неправильно генерирует кнопку ввода файла. Он не позволяет выбрать файл и отправить его как составной запрос для FilePart:
. Пожалуйста, предложите, какую версию использовать или как ее исправить.
Тот же код работает нормально в POSTMAN.
Контроллер
public String upload(
@RequestPart(value = "uploadedBy", required = true) String uploadedBy,
@RequestPart(value = "file",required = false) FilePart file)
{
.....
}
Версия Swagger: 3.23.11 Ниже приведены зависимости Swagger Maven.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-spring-webflux</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
API Do c
"paths": {
"/upload": {
"post": {
"tags": [
"document-controller"
],
"summary": "uploadDocument",
"operationId": "uploadDocumentUsingPOST",
"consumes": [
"multipart/form-data"
],
"produces": [
"*/*"
],
"parameters": [
{
"in": "formData",
"name": "file",
"description": "file",
"required": false,
"schema": {
"$ref": "#/definitions/FilePart"
}
},
{
"name": "uploadedBy",
"in": "formData",
"description": "uploadedBy",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"201": {
"description": "Created"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"deprecated": false
}
}
},