Skip to content

Commit 9b58fa3

Browse files
committed
fix typescript-axios model type error & lost import
1 parent 97bf30f commit 9b58fa3

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

src/main/java/io/swagger/codegen/v3/generators/typescript/AbstractTypeScriptClientCodegen.java

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,7 @@
88
import io.swagger.codegen.v3.ISchemaHandler;
99
import io.swagger.codegen.v3.generators.DefaultCodegenConfig;
1010
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.*;
2212
import org.apache.commons.lang3.StringUtils;
2313
import org.slf4j.Logger;
2414
import org.slf4j.LoggerFactory;
@@ -238,17 +228,24 @@ public CodegenModel fromModel(String name, Schema schema, Map<String, Schema> al
238228

239229
@Override
240230
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) + "; }";
247239
} 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);
250248
}
251-
return super.getTypeDeclaration(propertySchema);
252249
}
253250

254251
@Override

src/main/resources/handlebars/typescript-axios/model.mustache

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
import { {{class}} } from './{{filename}}';{{/allOf}}{{/hasAllOf}}{{#hasOneOf}}{{#oneOf}}
66
import { {{class}} } from './{{filename}}';{{/oneOf}}{{/hasOneOf}}{{^hasAllOf}}{{^hasOneOf}}{{#imports}}
77
import { {{class}} } from './{{filename}}';{{/imports}}{{/hasOneOf}}{{/hasAllOf}}{{/withSeparateModelsAndApi}}
8+
{{#imports}}
9+
import { {{class}} } from './{{filename}}';
10+
{{/imports}}
811
{{#models}}{{#model}}
912
{{#isEnum}}{{>modelEnum}}{{/isEnum}}{{#oneOf}}{{#@first}}{{>modelOneOf}}{{/@first}}{{/oneOf}}{{#allOf}}{{#@first}}{{>modelAllOf}}{{/@first}}{{/allOf}}{{^isEnum}}{{^oneOf}}{{^allOf}}{{>modelGeneric}}{{/allOf}}{{/oneOf}}{{/isEnum}}
1013
{{/model}}{{/models}}

src/main/resources/handlebars/typescript-axios/modelGeneric.mustache

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
1111
{{#vars}}
1212
/**
1313
* {{{description}}}
14-
* @type {{braces "left"}}{{datatype}}{{braces "right"}}
15-
* @memberof {{classname}}
14+
* @type {{braces "left"}}{{{datatype}}}{{braces "right"}}
15+
* @memberof {{{classname}}}
1616
{{#deprecated}}
1717
* @deprecated
1818
{{/deprecated}}
1919
*/
20-
{{name}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}};
20+
{{name}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{datatype}}}{{#isNullable}} | null{{/isNullable}}{{/isEnum}};
2121
{{/vars}}
2222
}{{#hasEnums}}
2323

0 commit comments

Comments
 (0)