#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. Да, вы правы