From 2fea97134eaa1e226f0440c11b26df8da2e99bb7 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 16 Feb 2022 11:17:03 +0800 Subject: [PATCH] Remove api-version if supported versions --- .../Abp/Http/Client/ClientProxying/ClientProxyBase.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs index ec6abb1dab..459d4cdda4 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs @@ -64,13 +64,15 @@ public class ClientProxyBase : ITransientDependency throw new AbpException($"The API description of the {typeof(TService).FullName}.{methodName} method was not found!"); } + var actionArguments = action.Parameters.GroupBy(x => x.NameOnMethod).ToList(); + if (action.SupportedVersions.Any()) + { //TODO: make names configurable + actionArguments.RemoveAll(x => x.Key != "api-version" && x.Key != "apiVersion"); + } return new ClientProxyRequestContext( action, - action.Parameters - .GroupBy(x => x.NameOnMethod) - //TODO: make names configurable - .Where(x => action.SupportedVersions.Any() && x.Key != "api-version" && x.Key !="apiVersion") + actionArguments .Select((x, i) => new KeyValuePair(x.Key, arguments.Values[i].Value)) .ToDictionary(x => x.Key, x => x.Value), typeof(TService));