From 4df9e90de1874fd770b4410ad563c2f7d33a364f Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 23 Feb 2021 11:14:17 +0300 Subject: [PATCH] Added PropertyNameGenerator to AbpApiProxyScriptingOptions --- .../AbpApiProxyScriptingOptions.cs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Configuration/AbpApiProxyScriptingOptions.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Configuration/AbpApiProxyScriptingOptions.cs index e698d00416..62bcf10296 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Configuration/AbpApiProxyScriptingOptions.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Configuration/AbpApiProxyScriptingOptions.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Reflection; namespace Volo.Abp.Http.ProxyScripting.Configuration { @@ -7,9 +8,30 @@ namespace Volo.Abp.Http.ProxyScripting.Configuration { public IDictionary Generators { get; } + public Func PropertyNameGenerator { get; set; } + public AbpApiProxyScriptingOptions() { Generators = new Dictionary(); + + PropertyNameGenerator = propertyInfo => + { + var jsonPropertyNameAttribute = propertyInfo.GetSingleAttributeOrNull(true); + + if (jsonPropertyNameAttribute != null) + { + return jsonPropertyNameAttribute.Name; + } + + var jsonPropertyAttribute = propertyInfo.GetSingleAttributeOrNull(true); + + if (jsonPropertyAttribute != null) + { + return jsonPropertyAttribute.PropertyName; + } + + return null; + }; } } } \ No newline at end of file