add enum name mapping feature to the rust generators (#17290)

This commit is contained in:
William Cheng 2023-12-04 10:53:11 +08:00 committed by GitHub
parent b19bc59c6a
commit ac45e3ddab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 2 deletions

View File

@ -6,3 +6,5 @@ templateDir: modules/openapi-generator/src/main/resources/rust
additionalProperties: additionalProperties:
supportAsync: false supportAsync: false
packageName: petstore-reqwest packageName: petstore-reqwest
enumNameMappings:
delivered: shipped

View File

@ -285,9 +285,12 @@ public abstract class AbstractRustCodegen extends DefaultCodegen implements Code
} }
//// Enum naming //// //// Enum naming ////
@Override @Override
public String toEnumVarName(String name, String datatype) { public String toEnumVarName(String name, String datatype) {
if (enumNameMapping.containsKey(name)) {
return enumNameMapping.get(name);
}
// Empty strings need to be mapped to "Empty" // Empty strings need to be mapped to "Empty"
// https://github.com/OpenAPITools/openapi-generator/issues/13453 // https://github.com/OpenAPITools/openapi-generator/issues/13453
if (Strings.isNullOrEmpty(name)) { if (Strings.isNullOrEmpty(name)) {

View File

@ -51,7 +51,7 @@ pub enum Status {
#[serde(rename = "approved")] #[serde(rename = "approved")]
Approved, Approved,
#[serde(rename = "delivered")] #[serde(rename = "delivered")]
Delivered, shipped,
} }
impl Default for Status { impl Default for Status {