Несколько файлов в requestbody с openapi и openapi-generator-maven-plugin - PullRequest
0 голосов
/ 31 января 2020

Изначально мой метод в MVC -контроллере с подпружиненной загрузкой был:

public Response sendMailWithAttachment(
@RequestParam(name = "wrapper") String wrapper, 
@RequestParam(name = "file", required = false) MultipartFile... file
) {...

file - vararg, поддержка нескольких файловых запросов

Теперь, я хочу описать спецификацию в OAS3 и создать интерфейс с помощью этого метода:

  /email/sendmail:
    post:
      tags:
        - email-controller
      summary: Send email, can add attachment
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                wrapper:
                  type: string
                  description: incoming request object
                file:
                  type: array
                  items:
                    type: string
                    format: binary
                    description: file for sending (attachment)

, но интерфейс, после openapi-generator-maven-plugin (4.2.2) не генерирует аргумент vararg:

default ResponseEntity<EmailResponse> sendMailWithAttachmentUsingPOST(
@RequestParam(value="wrapper", required=false)  String wrapper, 
@Valid @RequestPart("file") MultipartFile file
) {...


Пока что я не понимаю, как создать интерфейс с поддержкой аргументов vararg или массивов. Спасибо !!

Спасибо !!

1 Ответ

0 голосов
/ 31 января 2020

Попробуйте использовать последнюю версию плагина maven (на данный момент 4.2.3). Созданный интерфейс выглядит хорошо для меня:

default ResponseEntity<EmailResponse> sendMailWithAttachmentUsingPOST(
    @ApiParam(value = "incoming request object") @RequestParam(value="wrapper", required=false)  String wrapper,
    @ApiParam(value = "") @Valid @RequestPart("file") List<MultipartFile> file
)
...