spring-openapi icon indicating copy to clipboard operation
spring-openapi copied to clipboard

Handling of nested parameterized list types

Open trurli opened this issue 6 years ago • 0 comments

When trying to create an OpenAPI definition of a model object with a member of Type List<List<? extends Something>> with spring-openapi 1.4.0, generation fails with the following Exception:

java.lang.ClassCastException: class sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to class java.lang.Class (sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl and java.lang.Class are in module java.base of loader 'bootstrap')
	at com.github.jrcodeza.schema.generator.ComponentSchemaTransformer.getFieldSchema(ComponentSchemaTransformer.java:143)
	at com.github.jrcodeza.schema.generator.ComponentSchemaTransformer.lambda$getClassProperties$2(ComponentSchemaTransformer.java:118)
	at org.springframework.util.ReflectionUtils.doWithLocalFields(ReflectionUtils.java:702)
	at com.github.jrcodeza.schema.generator.ComponentSchemaTransformer.getClassProperties(ComponentSchemaTransformer.java:117)
	at com.github.jrcodeza.schema.generator.ComponentSchemaTransformer.transformSimpleSchema(ComponentSchemaTransformer.java:48)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.createSchemas(OpenAPIGenerator.java:207)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.createComponentsWrapper(OpenAPIGenerator.java:176)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.generate(OpenAPIGenerator.java:104)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.generate(OpenAPIGenerator.java:97)

It would be nice to have support for nested lists or at least graceful handling of this case.

trurli avatar Feb 06 '20 07:02 trurli