diff --git a/src/NSwag.CodeGeneration.CSharp.Tests/QueryParameterTests.cs b/src/NSwag.CodeGeneration.CSharp.Tests/QueryParameterTests.cs index 50d3ec5d11..2f939a6ae2 100644 --- a/src/NSwag.CodeGeneration.CSharp.Tests/QueryParameterTests.cs +++ b/src/NSwag.CodeGeneration.CSharp.Tests/QueryParameterTests.cs @@ -209,7 +209,7 @@ public async Task When_query_parameter_is_typed_free_form_object_parameters_are_ "urlBuilder_.Append(System.Uri.EscapeDataString(\"extendedProperties\")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(extendedProperties, System.Globalization.CultureInfo.InvariantCulture))).Append('&');", code); Assert.Contains( - "foreach (var item_ in extendedProperties) { urlBuilder_.Append(System.Uri.EscapeDataString(item_.Key)).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_.Value, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); }", + "foreach (var item_ in extendedProperties) { urlBuilder_.Append(System.Uri.EscapeDataString(\"extendedProperties\")).Append('.').Append(System.Uri.EscapeDataString(item_.Key)).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_.Value, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); }", code); } diff --git a/src/NSwag.CodeGeneration.CSharp/Templates/Client.Class.QueryParameter.liquid b/src/NSwag.CodeGeneration.CSharp/Templates/Client.Class.QueryParameter.liquid index 3a6ea85864..6b7155da7a 100644 --- a/src/NSwag.CodeGeneration.CSharp/Templates/Client.Class.QueryParameter.liquid +++ b/src/NSwag.CodeGeneration.CSharp/Templates/Client.Class.QueryParameter.liquid @@ -9,7 +9,7 @@ urlBuilder_.Append(System.Uri.EscapeDataString("{{ parameter.Name }}")).Append(' {% elsif parameter.IsArray -%} foreach (var item_ in {{ parameter.VariableName }}) { urlBuilder_.Append(System.Uri.EscapeDataString("{{ parameter.Name }}")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); } {% elsif parameter.IsDictionary -%} -foreach (var item_ in {{ parameter.VariableName }}) { urlBuilder_.Append(System.Uri.EscapeDataString(item_.Key)).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_.Value, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); } +foreach (var item_ in {{ parameter.VariableName }}) { urlBuilder_.Append(System.Uri.EscapeDataString("{{ parameter.Name }}")).Append('.').Append(System.Uri.EscapeDataString(item_.Key)).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(item_.Value, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); } {% elsif parameter.IsDeepObject -%} {% for property in parameter.PropertyNames -%} if ({{parameter.Name}}.{{property.Name}} != null)