This commit is contained in:
William Cheng 2022-01-16 17:57:07 +08:00
commit d001aca6dc
2 changed files with 11 additions and 11 deletions

View File

@ -1055,7 +1055,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
return importMapping.get(name);
}
// memoization
// memoization and lookup in the cache
String origName = name;
if (schemaKeyToModelNameCache.containsKey(origName)) {
return schemaKeyToModelNameCache.get(origName);
@ -1069,27 +1069,27 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
name = name + "_" + modelNameSuffix;
}
name = sanitizeName(name);
name = camelize(sanitizeName(name));
// model name cannot use reserved keyword, e.g. return
if (isReservedWord(name)) {
LOGGER.warn("{} (reserved word) cannot be used as model name. Renamed to {}", name, camelize("model_" + name));
name = "model_" + name; // e.g. return => ModelReturn (after camelize)
name = camelize("model_" + name); // e.g. return => ModelReturn (after camelize)
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn("{} (model name starts with number) cannot be used as model name. Renamed to {}", name,
camelize("model_" + name));
name = "model_" + name; // e.g. 200Response => Model200Response (after camelize)
name = camelize("model_" + name); // e.g. 200Response => Model200Response (after camelize)
}
String camelizedName = camelize(name);
schemaKeyToModelNameCache.put(origName, camelizedName);
// store in cache
schemaKeyToModelNameCache.put(origName, name);
// camelize the model name
// phone_number => PhoneNumber
return camelizedName;
return name;
}
@Override

View File

@ -1105,16 +1105,16 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen {
Map<String, Object> mo = (Map<String, Object>) _mo;
CodegenModel cm = (CodegenModel) mo.get("model");
if (cm.oneOf != null && !cm.oneOf.isEmpty() && cm.oneOf.contains("ModelNull")) {
if (cm.oneOf != null && !cm.oneOf.isEmpty() && cm.oneOf.contains("Null")) {
// if oneOf contains "null" type
cm.isNullable = true;
cm.oneOf.remove("ModelNull");
cm.oneOf.remove("Null");
}
if (cm.anyOf != null && !cm.anyOf.isEmpty() && cm.anyOf.contains("ModelNull")) {
if (cm.anyOf != null && !cm.anyOf.isEmpty() && cm.anyOf.contains("Null")) {
// if anyOf contains "null" type
cm.isNullable = true;
cm.anyOf.remove("ModelNull");
cm.anyOf.remove("Null");
}
}