|
8 | 8 | import io.swagger.codegen.v3.ISchemaHandler;
|
9 | 9 | import io.swagger.codegen.v3.generators.DefaultCodegenConfig;
|
10 | 10 | import io.swagger.codegen.v3.generators.util.OpenAPIUtil;
|
11 |
| -import io.swagger.v3.oas.models.media.ArraySchema; |
12 |
| -import io.swagger.v3.oas.models.media.BooleanSchema; |
13 |
| -import io.swagger.v3.oas.models.media.ComposedSchema; |
14 |
| -import io.swagger.v3.oas.models.media.DateSchema; |
15 |
| -import io.swagger.v3.oas.models.media.DateTimeSchema; |
16 |
| -import io.swagger.v3.oas.models.media.IntegerSchema; |
17 |
| -import io.swagger.v3.oas.models.media.MapSchema; |
18 |
| -import io.swagger.v3.oas.models.media.NumberSchema; |
19 |
| -import io.swagger.v3.oas.models.media.ObjectSchema; |
20 |
| -import io.swagger.v3.oas.models.media.Schema; |
21 |
| -import io.swagger.v3.oas.models.media.StringSchema; |
| 11 | +import io.swagger.v3.oas.models.media.*; |
22 | 12 | import org.apache.commons.lang3.StringUtils;
|
23 | 13 | import org.slf4j.Logger;
|
24 | 14 | import org.slf4j.LoggerFactory;
|
@@ -238,17 +228,24 @@ public CodegenModel fromModel(String name, Schema schema, Map<String, Schema> al
|
238 | 228 |
|
239 | 229 | @Override
|
240 | 230 | public String getTypeDeclaration(Schema propertySchema) {
|
241 |
| - if (propertySchema instanceof ArraySchema) { |
242 |
| - Schema inner = ((ArraySchema) propertySchema).getItems(); |
243 |
| - return String.format("%s<%s>", getSchemaType(propertySchema), getTypeDeclaration(inner)); |
244 |
| - } else if (propertySchema instanceof MapSchema && hasSchemaProperties(propertySchema)) { |
245 |
| - Schema inner = (Schema) propertySchema.getAdditionalProperties(); |
246 |
| - return String.format("{ [key, string]: %s;}", getTypeDeclaration(inner)); |
| 231 | + Schema inner; |
| 232 | + if(propertySchema instanceof ArraySchema) { |
| 233 | + ArraySchema arraySchema = (ArraySchema)propertySchema; |
| 234 | + inner = arraySchema.getItems(); |
| 235 | + return this.getSchemaType(propertySchema) + "<" + this.getTypeDeclaration(inner) + ">"; |
| 236 | + } else if(propertySchema instanceof MapSchema && hasSchemaProperties(propertySchema)) { |
| 237 | + inner = (Schema) propertySchema.getAdditionalProperties(); |
| 238 | + return "{ [key: string]: " + this.getTypeDeclaration(inner) + "; }"; |
247 | 239 | } else if (propertySchema instanceof MapSchema && hasTrueAdditionalProperties(propertySchema)) {
|
248 |
| - Schema inner = new ObjectSchema(); |
249 |
| - return String.format("{ [key, string]: %s;}", getTypeDeclaration(inner)); |
| 240 | + inner = new ObjectSchema(); |
| 241 | + return "{ [key: string]: " + this.getTypeDeclaration(inner) + "; }"; |
| 242 | + } else if(propertySchema instanceof FileSchema || propertySchema instanceof BinarySchema) { |
| 243 | + return "Blob"; |
| 244 | + } else if(propertySchema instanceof ObjectSchema) { |
| 245 | + return "any"; |
| 246 | + } else { |
| 247 | + return super.getTypeDeclaration(propertySchema); |
250 | 248 | }
|
251 |
| - return super.getTypeDeclaration(propertySchema); |
252 | 249 | }
|
253 | 250 |
|
254 | 251 | @Override
|
|
0 commit comments