@@ -442,7 +442,7 @@ private void generateModel(List<File> files, Map<String, Object> models, String
442442 }
443443 }
444444
445- void generateModels (List <File > files , List <ModelMap > allModels , List <String > unusedModels ) {
445+ void generateModels (List <File > files , List <ModelMap > allModels , List <String > unusedModels , List < ModelMap > aliasModels ) {
446446 if (!generateModels ) {
447447 // TODO: Process these anyway and add to dryRun info
448448 LOGGER .info ("Skipping generation of models." );
@@ -567,6 +567,8 @@ void generateModels(List<File> files, List<ModelMap> allModels, List<String> unu
567567 CodegenModel m = modelTemplate .getModel ();
568568 if (m .isAlias ) {
569569 // alias to number, string, enum, etc, which should not be generated as model
570+ // but aliases are still used to dereference models in some languages (such as in html2).
571+ aliasModels .add (modelTemplate ); // Store aliases in the separate list.
570572 continue ; // Don't create user-defined classes for aliases
571573 }
572574 }
@@ -1074,11 +1076,11 @@ private void generateSupportingFiles(List<File> files, Map<String, Object> bundl
10741076 generateVersionMetadata (files );
10751077 }
10761078
1077- Map <String , Object > buildSupportFileBundle (List <OperationsMap > allOperations , List <ModelMap > allModels ) {
1078- return this .buildSupportFileBundle (allOperations , allModels , null );
1079+ Map <String , Object > buildSupportFileBundle (List <OperationsMap > allOperations , List <ModelMap > allModels , List < ModelMap > aliasModels ) {
1080+ return this .buildSupportFileBundle (allOperations , allModels , aliasModels , null );
10791081 }
10801082
1081- Map <String , Object > buildSupportFileBundle (List <OperationsMap > allOperations , List <ModelMap > allModels , List <WebhooksMap > allWebhooks ) {
1083+ Map <String , Object > buildSupportFileBundle (List <OperationsMap > allOperations , List <ModelMap > allModels , List <ModelMap > aliasModels , List < WebhooksMap > allWebhooks ) {
10821084
10831085 Map <String , Object > bundle = new HashMap <>(config .additionalProperties ());
10841086 bundle .put ("apiPackage" , config .apiPackage ());
@@ -1100,6 +1102,7 @@ Map<String, Object> buildSupportFileBundle(List<OperationsMap> allOperations, Li
11001102 bundle .put ("apiInfo" , apis );
11011103 bundle .put ("webhooks" , allWebhooks );
11021104 bundle .put ("models" , allModels );
1105+ bundle .put ("aliasModels" , aliasModels );
11031106 bundle .put ("apiFolder" , config .apiPackage ().replace ('.' , File .separatorChar ));
11041107 bundle .put ("modelPackage" , config .modelPackage ());
11051108 bundle .put ("library" , config .getLibrary ());
@@ -1225,15 +1228,16 @@ public List<File> generate() {
12251228 // models
12261229 List <String > filteredSchemas = ModelUtils .getSchemasUsedOnlyInFormParam (openAPI );
12271230 List <ModelMap > allModels = new ArrayList <>();
1228- generateModels (files , allModels , filteredSchemas );
1231+ List <ModelMap > aliasModels = new ArrayList <>();
1232+ generateModels (files , allModels , filteredSchemas , aliasModels );
12291233 // apis
12301234 List <OperationsMap > allOperations = new ArrayList <>();
12311235 generateApis (files , allOperations , allModels );
12321236 // webhooks
12331237 List <WebhooksMap > allWebhooks = new ArrayList <>();
12341238 generateWebhooks (files , allWebhooks , allModels );
12351239 // supporting files
1236- Map <String , Object > bundle = buildSupportFileBundle (allOperations , allModels , allWebhooks );
1240+ Map <String , Object > bundle = buildSupportFileBundle (allOperations , allModels , aliasModels , allWebhooks );
12371241 generateSupportingFiles (files , bundle );
12381242
12391243 if (dryRun ) {
0 commit comments