diff --git a/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java b/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java index ae1b0e9a8c..0b4f69c1a3 100644 --- a/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java +++ b/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java @@ -861,8 +861,8 @@ public ApiResponse convert(io.swagger.models.Response v2Response, List p response.setDescription(v2Response.getDescription()); - if (v2Response.getSchema() != null) { - Schema schema = convertFileSchema(convert(v2Response.getSchema())); + if (v2Response.getResponseSchema() != null) { + Schema schema = convertFileSchema(convert(v2Response.getResponseSchema())); for (String type : mediaTypes) { // TODO: examples MediaType mediaType = new MediaType(); @@ -961,8 +961,7 @@ private Schema convert(Property schema) { result = arraySchema; } else if (schema instanceof FileProperty) { - FileSchema fileSchema = Json.mapper().convertValue(schema, FileSchema.class); - result = fileSchema; + result = Json.mapper().convertValue(schema, FileSchema.class); }else { @@ -1208,9 +1207,11 @@ public Schema convert(io.swagger.models.Model v2Model) { v2discriminator = model.getDiscriminator(); model.setDiscriminator(null); } - - result = Json.mapper().convertValue(v2Model, Schema.class); - + if (v2Model instanceof ModelImpl && ("file".equals(((ModelImpl)v2Model).getType()))) { + result = Json.mapper().convertValue(v2Model, FileSchema.class); + } else { + result = Json.mapper().convertValue(v2Model, Schema.class); + } addProperties(v2Model, result); if (v2Model instanceof ModelImpl) {