Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit cdd3a86

Browse files
feat: allow configuring api versioning (#343)
1 parent d8a9281 commit cdd3a86

File tree

4 files changed

+26
-12
lines changed

4 files changed

+26
-12
lines changed
Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Asp.Versioning;
2+
using Asp.Versioning.ApiExplorer;
23
using Asp.Versioning.Conventions;
34

45
// ReSharper disable once CheckNamespace
@@ -13,17 +14,31 @@ public static class ApiVersioningInjectors
1314
/// Add API Versioning, use <see cref="VersionByNamespaceConvention"/> by default.
1415
/// </summary>
1516
/// <param name="services"><see cref="IServiceCollection"/></param>
17+
/// <param name="versioningSetup">Versioning Setup.</param>
18+
/// <param name="mvcApiVersioningSetup">Setups in MVC api versioning.</param>
19+
/// <param name="apiExplorerSetup">Setups for ApiExplorer.</param>
1620
/// <returns></returns>
17-
public static IApiVersioningBuilder AddCnblogsApiVersioning(this IServiceCollection services)
21+
public static IApiVersioningBuilder AddCnblogsApiVersioning(
22+
this IServiceCollection services,
23+
Action<ApiVersioningOptions>? versioningSetup = null,
24+
Action<MvcApiVersioningOptions>? mvcApiVersioningSetup = null,
25+
Action<ApiExplorerOptions>? apiExplorerSetup = null)
1826
{
1927
services.AddEndpointsApiExplorer();
20-
return services.AddApiVersioning(o => o.ReportApiVersions = true)
21-
.AddMvc(o => o.Conventions.Add(new VersionByNamespaceConvention()))
22-
.AddApiExplorer(
23-
o =>
24-
{
25-
o.GroupNameFormat = "'v'VVV";
26-
o.SubstituteApiVersionInUrl = true;
27-
});
28+
return services.AddApiVersioning(o =>
29+
{
30+
versioningSetup?.Invoke(o);
31+
})
32+
.AddMvc(o =>
33+
{
34+
o.Conventions.Add(new VersionByNamespaceConvention());
35+
mvcApiVersioningSetup?.Invoke(o);
36+
})
37+
.AddApiExplorer(o =>
38+
{
39+
o.GroupNameFormat = "'v'VVV";
40+
o.SubstituteApiVersionInUrl = true;
41+
apiExplorerSetup?.Invoke(o);
42+
});
2843
}
2944
}

‎src/Cnblogs.Architecture.Ddd.Cqrs.Dapper.SqlServer/Cnblogs.Architecture.Ddd.Cqrs.Dapper.SqlServer.csproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.1" />
14+
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.2" />
1515
</ItemGroup>
1616

1717
</Project>

‎src/Cnblogs.Architecture.Ddd.Infrastructure.CacheProviders.Redis/Cnblogs.Architecture.Ddd.Infrastructure.CacheProviders.Redis.csproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="StackExchange.Redis" Version="2.9.25" />
15+
<PackageReference Include="StackExchange.Redis" Version="2.9.32" />
1616
</ItemGroup>
1717

1818
</Project>

‎test/Cnblogs.Architecture.IntegrationTestProject/Program.cs‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
.AddEventBus(o => o.UseDapr(Constants.AppName));
1818
builder.Services.AddControllers().AddCqrsModelBinderProvider().AddLongToStringJsonConverter();
1919

20-
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
2120
builder.Services.AddCnblogsApiVersioning();
2221

2322
var app = builder.Build();

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /