diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index a82a3e0f96ce..1ace0e10ef23 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -604,6 +604,20 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List operations = objectMap.getOperation(); for (CodegenOperation operation : operations) { + if (operation.pathParams != null && operation.pathParams.size() > 0) { + for (var pathParam : operation.pathParams) { + if (!pathParam.baseName.contains("-")) { + continue; + } + + var newName = pathParam.baseName.replace("-", "_"); + LOGGER.info(pathParam.baseName + " cannot be used as a path param. Renamed to " + newName); + + operation.path = operation.path.replace("{" + pathParam.baseName + "}", "{" + newName + "}"); + pathParam.baseName = newName; + } + } + // http method verb conversion, depending on client library (e.g. Hyper: PUT => Put, Reqwest: PUT => put) if (HYPER_LIBRARY.equals(getLibrary())) { operation.httpMethod = StringUtils.camelize(operation.httpMethod.toLowerCase(Locale.ROOT));