From 0ceeddb4410802103f882b5a829e48f982950b98 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 3 Aug 2021 16:43:21 +0800 Subject: [PATCH] fix path and query parameters encoding (#10069) --- .../resources/csharp-netcore/WebRequestPathBuilder.mustache | 5 +++-- .../src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache index 8175f0e5757..30e5181eeac 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/WebRequestPathBuilder.mustache @@ -1,5 +1,6 @@ {{>partial_header}} using System.Collections.Generic; +using System.Web; namespace {{packageName}}.Client { @@ -21,7 +22,7 @@ namespace {{packageName}}.Client { foreach (var parameter in parameters) { - _path = _path.Replace("{" + parameter.Key + "}", parameter.Value); + _path = _path.Replace("{" + parameter.Key + "}", HttpUtility.UrlEncode(parameter.Value)); } } @@ -31,7 +32,7 @@ namespace {{packageName}}.Client { foreach (var value in parameter.Value) { - _query = _query + parameter.Key + "=" + value + "&"; + _query = _query + parameter.Key + "=" + HttpUtility.UrlEncode(value) + "&"; } } } diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs index 9071bd2262c..62cdf6a1d9b 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/WebRequestPathBuilder.cs @@ -8,6 +8,7 @@ */ using System.Collections.Generic; +using System.Web; namespace Org.OpenAPITools.Client { @@ -29,7 +30,7 @@ namespace Org.OpenAPITools.Client { foreach (var parameter in parameters) { - _path = _path.Replace("{" + parameter.Key + "}", parameter.Value); + _path = _path.Replace("{" + parameter.Key + "}", HttpUtility.UrlEncode(parameter.Value)); } } @@ -39,7 +40,7 @@ namespace Org.OpenAPITools.Client { foreach (var value in parameter.Value) { - _query = _query + parameter.Key + "=" + value + "&"; + _query = _query + parameter.Key + "=" + HttpUtility.UrlEncode(value) + "&"; } } }