Я создал собственный 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;
}
}
}