Swagger v1.5.7 - Есть ли способ связать пользовательский TypeNameResolver с ModelResolver без обновления версии Swagger? - PullRequest
0 голосов
/ 04 августа 2020

Я создал собственный TypeNameResolver на основе примера, найденного здесь , и я ищу способ связать его с ModelResolver, или есть другой способ обойти это? Для версии Swagger, которую я использую, ModelResolver принимает только один аргумент для конструктора. В более поздних версиях есть перегруженный конструктор.

Например.

public class TestTypePropertyConverter extends ModelResolver {

public TestTypePropertyConverter(ObjectMapper mapper) {
    super(mapper, new CustomTypeNameResolver()); <-- this is where I would link to link the custom resolver
}

public static class CustomTypeNameResolver extends TypeNameResolver {

    @Override
    protected String nameForClass(Class<?> cls, Set<Options> options) {
        String className = cls.getName().startsWith("java.") ? cls.getSimpleName() : cls.getName();
        if (options.contains(TypeNameResolver.Options.SKIP_API_MODEL)) {
            return className;
        }
        final ApiModel model = cls.getAnnotation(ApiModel.class);
        final String modelName = model == null ? null : StringUtils.trimToNull(model.value());
        return modelName == null ? className : modelName;
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...