Ограничения размера на основе контекста Swagger

#java #swagger #springdoc

Вопрос:

В проекте мы используем springdoc-openapi-ui:1.4.1. Некоторые «дочерние «DTO распространены и используются в различных» родительских » DTO с запросами и ответами верхнего уровня. Есть ли способ указать различные ограничения длины, например, для строковых свойств таких общих «дочерних» DTO, в зависимости от того, в какие DTO верхнего уровня они вложены с помощью композиции? Т. Е.

 @Getter
@Setter
public class Request {
    private NameContainter holder;
}
 
 @Getter
@Setter
public class Response {
    private NameContainter holder;
}
 
 @Getter
@Setter
public class NameContainer {
   private String name;
}
 

По Запросу holder.name максимальная длина должна составлять до 20 символов, в ответе — до 50.
Насколько я углубился в swagger-core-2.1.2.jar:io.swagger.v3.core.джексон.ModelResolver, он имеет ОЧЕНЬ простую логику работы с ограничениями свойств — если он видит аннотации проверки компонентов JSR-303, значения из них просто помещаются в соответствующий объект схемы без какого-либо «зависимого от пути» анализа того, где используется свойство.

Комментарии:

1. Вы хотите сказать, что используете один и тот же POJO, но применяете другой набор ограничений?

2. Да, вы правы