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.

Swagger3 no puede ingresar varios valores para un parámetro de lista.

Utilicé spring boot 2.x y agregué springfox-boot-starter 3.0.0 y @EnableOpenApi para utilizar Swagger3.

Tengo el controlador siguiente:

@DeleteMapping("/rate")
public void deleteRate(@ApiParam(value = "dc id") @RequestParam(required = false) Integer dcId,
@ApiParam(value = "rate id")
@RequestParam(required = false) List<Integer> dcrIdList) {

Sin embargo, para el parámetro List<Integer> en Swagger, es un entero en lugar de un array / lista, se ve así:

enter image description here

Debería haber múltiples entradas para que pueda ingresar múltiples valores para el array / lista, ¿verdad?

¿Cómo puedo ingresar múltiples valores para list en Swagger3? Si escribo múltiples valores separados por coma en una entrada, Swagger3 me muestra un mensaje de error.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para introducir múltiples valores para el parámetro list en swagger3, puedes usar la propiedad collectionFormat en la anotación @ApiParam. Establece el valor de collectionFormat a “multi” de esta manera:

    @DeleteMapping("/rate")
    public void deleteRate(@ApiParam(value = "id de dc") @RequestParam(required = false) Integer dcId,
                           @ApiParam(value = "id de tarifa", collectionFormat = "multi")
                           @RequestParam(required = false) List<integer> dcrIdList) {
    

    Esto le indicará a swagger3 que el parámetro dcrIdList es una colección de valores y mostrará varios campos para ingresar valores en la interfaz de usuario.

Comments are closed.