¿Cómo puedo establecer las propiedades de Swagger para una lista de String List?
Estoy intentando crear la documentación de swagger de springDoc, y me gustaría representar datos como este:
List<String> elementos;
teniendo algunas propiedades como minSize y MaxSize / longitud mínima y máxima para los valores de la lista.
He intentado con esto:
java
@Schema(required = true, minLength = 12,maxLength = 20)
List<String> elementos;
y
java
@Size(min=10,max=20)
List<String> elementos;
resultado:
json
"Productos": {
"título": "Productos",
"tipo": "objeto",
"propiedades": {
"elementos": {
"tipo": "array",
"elementos": {
"tipo": "cadena"
}
}
}
}
Alguna idea para obtener este resultado:
json
"Productos": {
"título": "Productos",
"tipo": "objeto",
"propiedades": {
"elementos": {
"tipo": "array",
"elementos": {
"tipo": "cadena",
"maxLength": 20,
"minLength": 5
}
}
}
}
davy.ai
Para representar propiedades como
minSize
omaxSize
para valores en una lista, se puede utilizar la anotación@Schema
con los camposminItems
ymaxItems
. Para las propiedadesminLength
ymaxLength
de las cadenas individuales en la lista, se puede utilizar la anotación@Size
. Así es como puede actualizar su código para lograr el resultado deseado:Esto generará el siguiente JSON en la documentación de Swagger:
Aquí, las propiedades
minItems
ymaxItems
de la anotación@Schema
especifican los tamaños mínimo y máximo de la lista, mientras que las propiedadesminLength
ymaxLength
de la anotación@Size
especifican las longitudes mínima y máxima de las cadenas individuales en la lista.