Skip to content

Commit f55f28f

Browse files
committed
obsolete attribute for api functions
1 parent c1dc920 commit f55f28f

File tree

16 files changed

+81
-52
lines changed

16 files changed

+81
-52
lines changed

DemoCoreWeb.ClientApi/WebApiClientAuto.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4836,6 +4836,7 @@ public decimal GetDecimalSquare(decimal d, Action<System.Net.Http.Headers.HttpRe
48364836
/// <summary>
48374837
/// GET api/SuperDemo/DecimalZero
48384838
/// </summary>
4839+
[System.ObsoleteAttribute("Just for test", DiagnosticId="abc", UrlFormat="efg")]
48394840
public async Task<decimal> GetDecimalZeroAsync(Action<System.Net.Http.Headers.HttpRequestHeaders> handleHeaders = null)
48404841
{
48414842
var requestUri = "api/SuperDemo/DecimalZero";
@@ -4859,6 +4860,7 @@ public async Task<decimal> GetDecimalZeroAsync(Action<System.Net.Http.Headers.Ht
48594860
/// <summary>
48604861
/// GET api/SuperDemo/DecimalZero
48614862
/// </summary>
4863+
[System.ObsoleteAttribute("Just for test", DiagnosticId="abc", UrlFormat="efg")]
48624864
public decimal GetDecimalZero(Action<System.Net.Http.Headers.HttpRequestHeaders> handleHeaders = null)
48634865
{
48644866
var requestUri = "api/SuperDemo/DecimalZero";
@@ -5067,6 +5069,7 @@ public double Getdouble(Action<System.Net.Http.Headers.HttpRequestHeaders> handl
50675069
/// Result of 0.1d + 0.2d - 0.3d
50685070
/// GET api/SuperDemo/DoubleZero
50695071
/// </summary>
5072+
[System.ObsoleteAttribute("for testing")]
50705073
public async Task<double> GetDoubleZeroAsync(Action<System.Net.Http.Headers.HttpRequestHeaders> handleHeaders = null)
50715074
{
50725075
var requestUri = "api/SuperDemo/DoubleZero";
@@ -5090,6 +5093,7 @@ public async Task<double> GetDoubleZeroAsync(Action<System.Net.Http.Headers.Http
50905093
/// Result of 0.1d + 0.2d - 0.3d
50915094
/// GET api/SuperDemo/DoubleZero
50925095
/// </summary>
5096+
[System.ObsoleteAttribute("for testing")]
50935097
public double GetDoubleZero(Action<System.Net.Http.Headers.HttpRequestHeaders> handleHeaders = null)
50945098
{
50955099
var requestUri = "api/SuperDemo/DoubleZero";
@@ -5210,6 +5214,7 @@ public System.DayOfWeek[] GetEnumArrayQ2(System.Collections.Generic.List<System.
52105214
/// <summary>
52115215
/// GET api/SuperDemo/FloatZero
52125216
/// </summary>
5217+
[System.ObsoleteAttribute()]
52135218
public async Task<float> GetFloatZeroAsync(Action<System.Net.Http.Headers.HttpRequestHeaders> handleHeaders = null)
52145219
{
52155220
var requestUri = "api/SuperDemo/FloatZero";
@@ -5232,6 +5237,7 @@ public async Task<float> GetFloatZeroAsync(Action<System.Net.Http.Headers.HttpRe
52325237
/// <summary>
52335238
/// GET api/SuperDemo/FloatZero
52345239
/// </summary>
5240+
[System.ObsoleteAttribute()]
52355241
public float GetFloatZero(Action<System.Net.Http.Headers.HttpRequestHeaders> handleHeaders = null)
52365242
{
52375243
var requestUri = "api/SuperDemo/FloatZero";

DemoCoreWebControllers/Controllers/SuperDemoController.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public async Task<decimal> GetDecimalSquare(decimal d)
5151
});
5252
}
5353

54+
[Obsolete]
5455
[HttpGet]
5556
[Route("FloatZero")]
5657
public float GetFloatZero()
@@ -66,13 +67,15 @@ public float GetFloatZero()
6667
/// Result of 0.1d + 0.2d - 0.3d
6768
/// </summary>
6869
/// <returns></returns>
70+
[Obsolete("for testing")]
6971
[HttpGet]
7072
[Route("DoubleZero")]
7173
public double GetDoubleZero()
7274
{
7375
return 0.1d + 0.2d - 0.3d;
7476
}
7577

78+
[Obsolete("Just for test", DiagnosticId ="abc", UrlFormat ="efg")]
7679
[HttpGet]
7780
[Route("DecimalZero")]
7881
public decimal GetDecimalZero()

Fonlow.Poco2TsCore/AnnotationDeclarationGenerator.cs

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -133,37 +133,41 @@ public static IDictionary<Type, Func<Attribute, CodeAttributeDeclaration>> Creat
133133
{ typeof(ObsoleteAttribute), a =>
134134
{
135135
ObsoleteAttribute obj= a as ObsoleteAttribute;
136-
137-
138-
List<CodeAttributeArgument> attributeParams = new();
139-
140-
if (!string.IsNullOrEmpty(obj.Message)){
141-
CodeSnippetExpression messageExp = new CodeSnippetExpression($"\"{obj.Message}\"");
142-
attributeParams.Add( new CodeAttributeArgument(messageExp));
143-
}
144-
145-
if (obj.IsError){
146-
CodeSnippetExpression errorExp= new CodeSnippetExpression(obj.IsError?"true":"false");
147-
attributeParams.Add(string.IsNullOrEmpty(obj.Message) ? new CodeAttributeArgument("IsError", errorExp) : new CodeAttributeArgument(errorExp));
148-
}
149-
150-
if (!String.IsNullOrEmpty(obj.DiagnosticId))
151-
{
152-
CodeSnippetExpression diagnosticIdExp= new CodeSnippetExpression($"\"{obj.DiagnosticId}\"");
153-
attributeParams.Add(new CodeAttributeArgument("DiagnosticId", diagnosticIdExp));
154-
}
155-
156-
if (!String.IsNullOrEmpty(obj.UrlFormat))
157-
{
158-
CodeSnippetExpression urlFormatExp= new CodeSnippetExpression($"\"{obj.UrlFormat}\"");
159-
attributeParams.Add(new CodeAttributeArgument("UrlFormat", urlFormatExp));
160-
}
161-
162-
return new CodeAttributeDeclaration("System.ObsoleteAttribute", attributeParams.ToArray());
136+
return CreateDeclaration(obj);
163137
}
164138
},
165139

166140
};
167141

142+
public static CodeAttributeDeclaration CreateDeclaration(ObsoleteAttribute obj){
143+
List<CodeAttributeArgument> attributeParams = new();
144+
145+
if (!string.IsNullOrEmpty(obj.Message))
146+
{
147+
CodeSnippetExpression messageExp = new CodeSnippetExpression($"\"{obj.Message}\"");
148+
attributeParams.Add(new CodeAttributeArgument(messageExp));
149+
}
150+
151+
if (obj.IsError)
152+
{
153+
CodeSnippetExpression errorExp = new CodeSnippetExpression(obj.IsError ? "true" : "false");
154+
attributeParams.Add(string.IsNullOrEmpty(obj.Message) ? new CodeAttributeArgument("IsError", errorExp) : new CodeAttributeArgument(errorExp));
155+
}
156+
157+
if (!String.IsNullOrEmpty(obj.DiagnosticId))
158+
{
159+
CodeSnippetExpression diagnosticIdExp = new CodeSnippetExpression($"\"{obj.DiagnosticId}\"");
160+
attributeParams.Add(new CodeAttributeArgument("DiagnosticId", diagnosticIdExp));
161+
}
162+
163+
if (!String.IsNullOrEmpty(obj.UrlFormat))
164+
{
165+
CodeSnippetExpression urlFormatExp = new CodeSnippetExpression($"\"{obj.UrlFormat}\"");
166+
attributeParams.Add(new CodeAttributeArgument("UrlFormat", urlFormatExp));
167+
}
168+
169+
return new CodeAttributeDeclaration("System.ObsoleteAttribute", attributeParams.ToArray());
170+
}
171+
168172
}
169173
}

Fonlow.Poco2TsCore/Fonlow.Poco2TsCore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>net9.0</TargetFramework>
55
<GenerateDocumentationFile>true</GenerateDocumentationFile>
66
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
7-
<Version>4.0</Version>
7+
<Version>4.1</Version>
88
<Authors>Zijian Huang</Authors>
99
<Company />
1010
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>

WebApiClientGenCore.Abstract/ControllersTsClientApiGenBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,18 @@ public void CreateCodeDom(WebApiDescription[] webApiDescriptions)
152152
}).Where(d => d != null).ToArray();//add classes into the namespace
153153
}
154154

155-
foreach (WebApiDescription d in webApiDescriptions)
155+
foreach (WebApiDescription apiDesc in webApiDescriptions)
156156
{
157-
string controllerNamespace = d.ActionDescriptor.ControllerDescriptor.ControllerType.Namespace;
158-
string controllerName = d.ActionDescriptor.ControllerDescriptor.ControllerName;
157+
string controllerNamespace = apiDesc.ActionDescriptor.ControllerDescriptor.ControllerType.Namespace;
158+
string controllerName = apiDesc.ActionDescriptor.ControllerDescriptor.ControllerName;
159159
string controllerFullName = controllerNamespace + "." + controllerName;
160160
if (apiSelections.ExcludedControllerNames != null && apiSelections.ExcludedControllerNames.Contains(controllerFullName))
161161
continue;
162162

163163
CodeTypeDeclaration existingClientClass = LookupExistingClassOfTsInCodeDom(controllerNamespace, GetContainerClassName(controllerName));
164164
System.Diagnostics.Trace.Assert(existingClientClass != null);
165165

166-
CodeMemberMethod apiFunction = apiFunctionGen.CreateApiFunction(d, Poco2TsGen, poco2CsGen, this.jsOutput);
166+
CodeMemberMethod apiFunction = apiFunctionGen.CreateApiFunction(apiDesc, Poco2TsGen, poco2CsGen, this.jsOutput);
167167
existingClientClass.Members.Add(apiFunction);
168168
}
169169

WebApiClientGenCore.Abstract/MethodHelper.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,6 @@ public static bool ParameterIsNullable(MethodInfo methodInfo, ParameterInfo para
7575
return nullableAttribute != null && (byte)nullableAttribute.ConstructorArguments[0].Value == 2;
7676
}
7777
}
78+
7879
}
7980
}

WebApiClientGenCore.Abstract/WebApiClientGenCore.Abstract.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
99
<Authors>Zijian Huang</Authors>
1010
<PackageProjectUrl>https://github.com/zijianhuang/webapiclientgen</PackageProjectUrl>
11-
<Version>3.6</Version>
11+
<Version>3.7</Version>
1212
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1313
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
1414
<PackageReadmeFile>README.md</PackageReadmeFile>

WebApiClientGenCore.Aurelia/WebApiClientGenCore.Aurelia.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
<Description>Plugin for WebApiClientGen 3.0+ to generate client API codes with Aurelia.</Description>
99
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
1010
<PackageTags>aurelia TypeScript</PackageTags>
11-
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
11+
<PackageReleaseNotes>Supports property deprecated.</PackageReleaseNotes>
1212
<PackageProjectUrl>https://github.com/zijianhuang/webapiclientgen</PackageProjectUrl>
1313
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1515
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1616
<AssemblyName>Fonlow.WebApiClientGenCore.Aurelia</AssemblyName>
17-
<Version>4.2</Version>
17+
<Version>4.3</Version>
1818
<PackageReadmeFile>README.md</PackageReadmeFile>
1919
<RepositoryUrl>https://github.com/zijianhuang/webapiclientgen</RepositoryUrl>
2020
<AnalysisLevel>latest-all</AnalysisLevel>

WebApiClientGenCore.Axios/WebApiClientGenCore.Axios.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<PackageId>Fonlow.WebApiClientGenCore.Axios</PackageId>
66
<Authors>Zijian Huang</Authors>
77
<Description>Plugin for WebApiClientGen 3.0+ to generate client API codes with AXIOS.</Description>
8-
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
8+
<PackageReleaseNotes>property deprecated</PackageReleaseNotes>
99
<NeutralLanguage>en</NeutralLanguage>
1010
<PackageProjectUrl>https://github.com/zijianhuang/webapiclientgen</PackageProjectUrl>
1111
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
@@ -14,7 +14,7 @@
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1515
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1616
<AssemblyName>Fonlow.WebApiClientGenCore.Axios</AssemblyName>
17-
<Version>4.2</Version>
17+
<Version>4.3</Version>
1818
<PackageReadmeFile>README.md</PackageReadmeFile>
1919
<RepositoryUrl>https://github.com/zijianhuang/webapiclientgen</RepositoryUrl>
2020
<AnalysisLevel>latest-all</AnalysisLevel>

WebApiClientGenCore.Fetch/WebApiClientGenCore.Fetch.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
<PackageLicenseExpression>MIT</PackageLicenseExpression>
88
<PackageProjectUrl>https://github.com/zijianhuang/webapiclientgen</PackageProjectUrl>
99
<PackageTags>Fetch TypeScript</PackageTags>
10-
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
10+
<PackageReleaseNotes>property deprecated</PackageReleaseNotes>
1111
<Description>Plugin for WebApiClientGen 3.0+ to generate client API codes with Fetch API.</Description>
1212
<NeutralLanguage>en</NeutralLanguage>
1313
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
1414
<Authors>Zijian Huang</Authors>
1515
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
1616
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
17-
<Version>4.2</Version>
17+
<Version>4.3</Version>
1818
<PackageReadmeFile>README.md</PackageReadmeFile>
1919
<RepositoryUrl>https://github.com/zijianhuang/webapiclientgen</RepositoryUrl>
2020
<AnalysisLevel>latest-all</AnalysisLevel>

WebApiClientGenCore.NG2/WebApiClientGenCore.NG2.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
<PackageId>Fonlow.WebApiClientGenCore.NG2</PackageId>
66
<Authors>Zijian Huang</Authors>
77
<Description>Plugin for WebApiClientGen 3.0+ to generate client API codes with Angular 6+.</Description>
8-
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
8+
<PackageReleaseNotes>property deprecated</PackageReleaseNotes>
99
<NeutralLanguage>en</NeutralLanguage>
1010
<PackageProjectUrl>https://github.com/zijianhuang/webapiclientgen</PackageProjectUrl>
1111
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
1212
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
1313
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1414
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1515
<AssemblyName>Fonlow.WebApiClientGenCore.NG2</AssemblyName>
16-
<Version>4.2</Version>
16+
<Version>4.3</Version>
1717
<PackageTags>Angular</PackageTags>
1818
<RepositoryUrl>https://github.com/zijianhuang/webapiclientgen</RepositoryUrl>
1919
<PackageReadmeFile>README.md</PackageReadmeFile>

WebApiClientGenCore.NG2FormGroup/WebApiClientGenCore.NG2FormGroup.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
<PackageId>Fonlow.WebApiClientGenCore.NG2FormGroup</PackageId>
66
<Authors>Zijian Huang</Authors>
77
<Description>Plugin for WebApiClientGen 3.0+ to generate client API codes with Angular 6+, plus helper interfaces and functions for creating FormGroup of Angular Reactive Forms.</Description>
8-
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
8+
<PackageReleaseNotes>property deprecated</PackageReleaseNotes>
99
<NeutralLanguage>en</NeutralLanguage>
1010
<PackageProjectUrl>https://github.com/zijianhuang/webapiclientgen</PackageProjectUrl>
1111
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
1212
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
1313
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1414
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1515
<AssemblyName>Fonlow.WebApiClientGenCore.NG2FormGroup</AssemblyName>
16-
<Version>2</Version>
16+
<Version>2.1</Version>
1717
<PackageTags>Angular</PackageTags>
1818
<PackageReadmeFile>README.md</PackageReadmeFile>
1919
<RepositoryUrl>https://github.com/zijianhuang/webapiclientgen</RepositoryUrl>

WebApiClientGenCore.jQuery/WebApiClientGenCore.jQuery.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
99
<NeutralLanguage>en</NeutralLanguage>
1010
<Description>Plugin for WebApiClientGen 3.0+ to generate client API codes with jQuery. This requires a HttpClient library at https://github.com/zijianhuang/webapiclientgen/blob/master/DemoWebApi/Scripts/ClientApi/HttpClient.ts.</Description>
11-
<PackageReleaseNotes>Supports class inheritance between assemblies.</PackageReleaseNotes>
11+
<PackageReleaseNotes>property deprecated</PackageReleaseNotes>
1212
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
1313
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1414
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1515
<AssemblyName>Fonlow.WebApiClientGenCore.jQuery</AssemblyName>
16-
<Version>4.2</Version>
16+
<Version>4.3</Version>
1717
<PackageTags>jQuery</PackageTags>
1818
<PackageReadmeFile>README.md</PackageReadmeFile>
1919
<RepositoryUrl>https://github.com/zijianhuang/webapiclientgen</RepositoryUrl>

WebApiClientGenCore/ClientApiFunctionGen.cs

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ internal sealed class ClientApiFunctionGen
3636
readonly CodeGenOutputs codeGenOutputsSettings;
3737
readonly System.Reflection.ParameterInfo[] parameterInfoArray;
3838
readonly IDictionary<Type, Func<object, string>> attribueCommentDic;
39+
readonly ObsoleteAttribute obsoleteAttribute;
3940

4041
ClientApiFunctionGen(WebApiDescription webApiDescription, Poco2Client.Poco2CsGen poco2CsGen, CodeGenSettings codeGenSettings, bool forAsync)
4142
{
@@ -78,6 +79,9 @@ internal sealed class ClientApiFunctionGen
7879
{
7980
returnTypeDecoratedWithNotNullable = returnType != null && Attribute.IsDefined(methodInfo.ReturnParameter, typeof(System.Diagnostics.CodeAnalysis.NotNullAttribute));
8081
}
82+
83+
var attributes = methodInfo.GetCustomAttributes<ObsoleteAttribute>();
84+
obsoleteAttribute = attributes.FirstOrDefault();
8185
}
8286

8387
AnnotationCommentGenerator annotationCommentGenerator = new AnnotationCommentGenerator();
@@ -150,23 +154,37 @@ CodeMemberMethod CreateApiFunction()
150154

151155
CodeMemberMethod CreateMethodBasic()
152156
{
153-
return new CodeMemberMethod()
157+
var cmm = new CodeMemberMethod()
154158
{
155159
Attributes = MemberAttributes.Public | MemberAttributes.Final,
156160
Name = methodName,
157161
ReturnType = poco2CsGen.TranslateToClientTypeReference(returnType),
158162
};
163+
164+
if (obsoleteAttribute != null)
165+
{
166+
cmm.CustomAttributes.Add(AnnotationDeclarationGenerator.CreateDeclaration(obsoleteAttribute));
167+
}
168+
169+
return cmm;
159170
}
160171

161172
CodeMemberMethod CreateMethodBasicForAsync()
162173
{
163-
return new CodeMemberMethod()
174+
var cmm = new CodeMemberMethod()
164175
{
165176
Attributes = MemberAttributes.Public | MemberAttributes.Final,
166177
Name = methodName + "Async",
167178
ReturnType = returnType == null ? new CodeTypeReference("async Task")
168179
: new CodeTypeReference("async Task", poco2CsGen.TranslateToClientTypeReference(returnType)),
169180
};
181+
182+
if (obsoleteAttribute != null)
183+
{
184+
cmm.CustomAttributes.Add(AnnotationDeclarationGenerator.CreateDeclaration(obsoleteAttribute));
185+
}
186+
187+
return cmm;
170188
}
171189

172190
void CreateDocComments()
@@ -672,8 +690,5 @@ static Type GetTypeTextOfResponse2xx(Attribute[] customAttributes)
672690

673691
return null;
674692
}
675-
676-
677693
}
678-
679694
}

WebApiClientGenCore/ControllersClientApiGen.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ void CreateCodeDom(WebApiDescription[] webApiDescriptions)
157157
{
158158
GenerateCsFromPocoAssemblies();
159159
}
160-
160+
161161
IOrderedEnumerable<IGrouping<string, ControllerDescriptor>> controllersGroupByNamespace = webApiDescriptions.Select(d => d.ActionDescriptor.ControllerDescriptor)
162162
.Distinct()
163163
.GroupBy(d => d.ControllerType.Namespace)

WebApiClientGenCore/WebApiClientGenCore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<RootNamespace>Fonlow.CodeDom.Web</RootNamespace>
66
<GenerateDocumentationFile>true</GenerateDocumentationFile>
77
<PackageId>Fonlow.WebApiClientGenCore</PackageId>
8-
<Version>7.9.5</Version>
8+
<Version>7.10</Version>
99
<Description>Generate strongly typed client API in C# or TypeScript for .NET Core Web API. Strongly Typed Client API Generator generates C# and TypeScript codes of strongly typed client API similar to what generated by SvcUtil.exe of WCF, provided you have access to the ASP.NET Web API source codes or assemblies. Then you may provide or publish either the source codes in C# and TypeScript or the compiled client API library to other developers who are developing client programs of your Web API. The TypeScript outputs support jQuery, Angular 2+, AXIOS and Aurelia.</Description>
1010
<Copyright>Copyright © Zijian Huang 2015-$([System.DateTime]::Now.Year)</Copyright>
1111
<PackageLicenseUrl></PackageLicenseUrl>

0 commit comments

Comments
 (0)