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

NPE generating spec from controller method with a byte array argument

Open trurli opened this issue 5 years ago • 1 comments

When generating an OpenAPI spec from a controller method taking a byte[] argument (annotated with @RequestBody) an NPE occurs with the following stack trace:

java.lang.NullPointerException
	at com.github.jrcodeza.schema.generator.OpenApiTransformer.lambda$isInPackagesToBeScanned$4(OpenApiTransformer.java:259)
	at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1631)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:528)
	at com.github.jrcodeza.schema.generator.OpenApiTransformer.isInPackagesToBeScanned(OpenApiTransformer.java:259)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.createMediaType(OperationsTransformer.java:560)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.createRequestBody(OperationsTransformer.java:513)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.mapRequestMapping(OperationsTransformer.java:140)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.lambda$createOperation$6(OperationsTransformer.java:128)
	at java.base/java.util.Optional.ifPresent(Optional.java:183)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.createOperation(OperationsTransformer.java:128)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.lambda$transformOperations$0(OperationsTransformer.java:112)
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:410)
	at com.github.jrcodeza.schema.generator.OperationsTransformer.transformOperations(OperationsTransformer.java:112)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.createPathExtensions(OpenAPIGenerator.java:171)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.createPathsWrapper(OpenAPIGenerator.java:154)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.generate(OpenAPIGenerator.java:105)
	at com.github.jrcodeza.schema.generator.OpenAPIGenerator.generate(OpenAPIGenerator.java:97)

trurli avatar Feb 06 '20 07:02 trurli

@trurli thank you for reporting your finding. I'll have a look this weekend.

jrcodeza avatar Feb 07 '20 20:02 jrcodeza