es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El complemento OpenAPI V3 de Maven genera código de interfaz incompleto con carga de archivos múltiples utilizando multipart/form-data.

Estoy utilizando Openapi V3 con el complemento Maven openapi-generator-maven-plugin (5.3.0) para la carga de múltiples archivos con multipart/form-data. Sin embargo, el código de la interfaz generado está incompleto, falta la declaración de la lista en uno de los métodos predeterminados (un método declara el parámetro de entrada como List file y el otro método lo declara como MultipartFile file):

default ResponseEntity<UploadDocumentsResponse> _uploadDocuments(@Valid @RequestPart(value = "file", required = false) List<MultipartFile> file) {
        return uploadDocuments(authorization, file);
    }

<pre><code>// Sobrescribir este método
default  ResponseEntity<UploadDocumentsResponse> uploadDocuments(MultipartFile file) {
</code></pre>

...
}

Aquí está la especificación:


/api/uploadDocuments:
post:
tags:
- documents
summary: Subir documentos
description: Subir documentos
operationId: uploadDocuments
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: array
items:
type: string
format: binary

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema aquí es que el código generado está incompleto y necesita ser corregido manualmente. El método por defecto _uploadDocuments está faltando la declaración de la Lista en uno de los parámetros.

    Para solucionar esto, la declaración faltante de la Lista debería ser agregada al método de la siguiente manera:

    default ResponseEntity<uploaddocumentsresponse> _uploadDocuments(@Valid @RequestPart(value = "file", required = false) List<multipartfile> files) {
        return uploadDocuments(authorization, files);
    }
    

    Tenga en cuenta que el nombre del parámetro cambió de file a files para reflejar el hecho de que ahora es una Lista de MultipartFiles.

    Además, el método uploadDocuments que recibe un solo MultipartFile también debe ser actualizado para recibir una Lista de MultipartFiles de la siguiente manera:

    default ResponseEntity<uploaddocumentsresponse> uploadDocuments(List<multipartfile> files) {
        ...
    }
    

    Con estos cambios, el código de la interfaz debería estar completo y listo para ser utilizado.

Comments are closed.