typealias support
This commit is contained in:
parent
a6ce167f34
commit
d6ba75e788
|
|
@ -5,9 +5,7 @@ import io.swagger.codegen.v3.*;
|
|||
import io.swagger.codegen.v3.generators.DefaultCodegenConfig;
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.Operation;
|
||||
import io.swagger.v3.oas.models.media.ArraySchema;
|
||||
import io.swagger.v3.oas.models.media.MapSchema;
|
||||
import io.swagger.v3.oas.models.media.Schema;
|
||||
import io.swagger.v3.oas.models.media.*;
|
||||
import io.swagger.v3.oas.models.parameters.RequestBody;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
|
|
@ -285,7 +283,10 @@ public class TINetworkingCodegen extends DefaultCodegenConfig {
|
|||
@Override
|
||||
public CodegenParameter fromRequestBody(RequestBody body, String name, Schema schema, Map<String, Schema> schemas, Set<String> imports) {
|
||||
CodegenParameter codegenParameter = super.fromRequestBody(body, name, schema, schemas, imports);
|
||||
codegenParameter.description = codegenParameter.description == null ? schema.getDescription() : codegenParameter.description;
|
||||
codegenParameter.description = codegenParameter.getDescription() == null
|
||||
? schema.getDescription()
|
||||
: codegenParameter.getDescription();
|
||||
|
||||
return codegenParameter;
|
||||
}
|
||||
|
||||
|
|
@ -477,6 +478,41 @@ public class TINetworkingCodegen extends DefaultCodegenConfig {
|
|||
return codegenModel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CodegenProperty fromProperty(String name, Schema propertySchema) {
|
||||
CodegenProperty codegenProperty = super.fromProperty(name, propertySchema);
|
||||
|
||||
if (typeAliases.containsKey(codegenProperty.baseType)) {
|
||||
Schema resolvedPropertySchema = getOpenAPI().getComponents().getSchemas().get(codegenProperty.datatype);
|
||||
|
||||
postProcessAliasProperty(codegenProperty, resolvedPropertySchema);
|
||||
}
|
||||
|
||||
return codegenProperty;
|
||||
}
|
||||
|
||||
private void postProcessAliasProperty(CodegenProperty codegenProperty, Schema resolvedPropertySchema) {
|
||||
Map<String, Object> propertyExtensions = codegenProperty.getVendorExtensions();
|
||||
|
||||
propertyExtensions.put(CodegenConstants.IS_ALIAS_EXT_NAME, Boolean.TRUE);
|
||||
|
||||
codegenProperty.setDescription(codegenProperty.getDescription() == null
|
||||
? resolvedPropertySchema.getDescription()
|
||||
: codegenProperty.getDescription());
|
||||
|
||||
if (resolvedPropertySchema.getExtensions() != null) {
|
||||
propertyExtensions.putAll(resolvedPropertySchema.getExtensions());
|
||||
}
|
||||
|
||||
if (resolvedPropertySchema instanceof DateSchema) {
|
||||
propertyExtensions.put(CodegenConstants.IS_DATE_EXT_NAME, Boolean.TRUE);
|
||||
}
|
||||
|
||||
if (resolvedPropertySchema instanceof DateTimeSchema) {
|
||||
propertyExtensions.put(CodegenConstants.IS_DATE_TIME_EXT_NAME, Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> postProcessSupportingFileData(Map<String, Object> objs) {
|
||||
Map<String, Object> supportingFileData = super.postProcessSupportingFileData(objs);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,12 @@ import Foundation
|
|||
{{> modelEnum}}
|
||||
{{/isEnum}}
|
||||
{{^isEnum}}
|
||||
{{#isAlias}}
|
||||
public typealias {{classname}} = {{dataType}}
|
||||
{{/isAlias}}
|
||||
{{^isAlias}}
|
||||
{{> modelObject}}
|
||||
{{/isAlias}}
|
||||
{{/isEnum}}
|
||||
{{/isArrayModel}}
|
||||
{{/model}}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public {{#useModelClasses}}class{{/useModelClasses}}{{^useModelClasses}}struct{{
|
|||
{{#hasVars}}
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
{{#allVars}}
|
||||
case {{name}}
|
||||
case {{name}}{{#vendorExtensions.x-codegen-escaped-property-name}} = "{{{baseName}}}"{{/vendorExtensions.x-codegen-escaped-property-name}}
|
||||
{{/allVars}}
|
||||
}
|
||||
|
||||
|
|
@ -103,12 +103,5 @@ public {{#useModelClasses}}class{{/useModelClasses}}{{^useModelClasses}}struct{{
|
|||
}
|
||||
|
||||
{{/additionalPropertiesType}}
|
||||
{{^additionalPropertiesType}}
|
||||
|
||||
{{#vendorExtensions.x-codegen-has-escaped-property-names}}
|
||||
public enum CodingKeys: String, CodingKey { {{#allVars}}
|
||||
case {{name}}{{#vendorExtensions.x-codegen-escaped-property-name}} = "{{{baseName}}}"{{/vendorExtensions.x-codegen-escaped-property-name}}{{/allVars}}
|
||||
}
|
||||
{{/vendorExtensions.x-codegen-has-escaped-property-names}}{{/additionalPropertiesType}}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue