OpenAPITools / openapi-diff

Utility for comparing two OpenAPI specifications.
Apache License 2.0
812 stars 154 forks source link

class io.swagger.v3.oas.models.media.Schema cannot be cast to class io.swagger.v3.oas.models.media.ArraySchema #418

Closed chengjk closed 2 years ago

chengjk commented 2 years ago
class io.swagger.v3.oas.models.media.Schema cannot be cast to class io.swagger.v3.oas.models.media.ArraySchema (io.swagger.v3.oas.models.media.Schema and io.swagger.v3.oas.models.media.ArraySchema are in unnamed module of loader 'app')
    at org.openapitools.openapidiff.core.compare.schemadiffresult.ArraySchemaDiffResult.diff(ArraySchemaDiffResult.java:25) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDiffForReal(SchemaDiff.java:354) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDeferredDiff(SchemaDiff.java:330) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.diff(SchemaDiff.java:309) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.schemadiffresult.SchemaDiffResult.diff(SchemaDiffResult.java:83) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDiffForReal(SchemaDiff.java:354) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.computeDeferredDiff(SchemaDiff.java:330) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.diff(SchemaDiff.java:309) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.SchemaDiff.diff(SchemaDiff.java:301) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.ContentDiff.lambda$diff$1(ContentDiff.java:44) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[na:na]
    at org.openapitools.openapidiff.core.compare.ContentDiff.diff(ContentDiff.java:32) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.RequestBodyDiff.computeDiff(RequestBodyDiff.java:80) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.RequestBodyDiff.computeDiff(RequestBodyDiff.java:17) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.ReferenceDiffCache.cachedDiff(ReferenceDiffCache.java:52) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.RequestBodyDiff.diff(RequestBodyDiff.java:34) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.OperationDiff.diff(OperationDiff.java:68) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.PathDiff.diff(PathDiff.java:39) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.PathsDiff.lambda$diff$3(PathsDiff.java:89) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at java.base/java.util.LinkedHashMap$LinkedKeySet.forEach(LinkedHashMap.java:589) ~[na:na]
    at org.openapitools.openapidiff.core.compare.PathsDiff.diff(PathsDiff.java:47) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.OpenApiDiff.compare(OpenApiDiff.java:96) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.compare.OpenApiDiff.compare(OpenApiDiff.java:64) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
    at org.openapitools.openapidiff.core.OpenApiCompare.fromSpecifications(OpenApiCompare.java:102) ~[openapi-diff-core-2.1.0-beta.3.jar:na]
joschi commented 2 years ago

@chengjk Thanks for reporting this!

Could you please provide an OpenAPI spec which is triggering this error?

joschi commented 2 years ago

Closed in favor of #423.