From a3bd9c8c72d8bedfbec612916686a73ea0c46539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Oct 2017 17:29:48 +0300 Subject: [PATCH] Improvements on api versioning. --- .../Client/DynamicProxying/DynamicHttpProxyInterceptor.cs | 6 +++++- .../Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs | 2 +- .../Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs index d9bcdcc67d..6cd82d37db 100644 --- a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs @@ -130,7 +130,11 @@ namespace Volo.Abp.Http.Client.DynamicProxying private ApiVersionInfo GetApiVersionInfo(ActionApiDescriptionModel action) { var apiVersion = FindBestApiVersion(action); - var versionParam = action.Parameters.FirstOrDefault(p => p.Name == "apiVersion"); + + //TODO: Make names configurable! + var versionParam = action.Parameters.FirstOrDefault(p => p.Name == "apiVersion") ?? + action.Parameters.FirstOrDefault(p => p.Name == "api-version" && p.BindingSourceId == ParameterBindingSources.Query); + return new ApiVersionInfo(versionParam?.BindingSourceId, apiVersion); } diff --git a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs index 6a1575c24e..dcb9868b7f 100644 --- a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs @@ -84,7 +84,7 @@ namespace Volo.Abp.Http.Client.DynamicProxying if (apiVersion.ShouldSendInQueryString()) { - AddQueryStringParameter(urlBuilder, isFirstParam, "apiVersion", apiVersion.Version); //TODO: Constant! + AddQueryStringParameter(urlBuilder, isFirstParam, "api-version", apiVersion.Version); //TODO: Constant! } } diff --git a/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs b/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs index 52860d2ad2..e5533665c3 100644 --- a/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs +++ b/test/Volo.Abp.AspNetCore.Mvc.Versioning.Tests/Volo/Abp/AspNetCore/Mvc/Versioning/AbpAspNetCoreMvcVersioningTestModule.cs @@ -46,7 +46,8 @@ namespace Volo.Abp.AspNetCore.Mvc.Versioning options.ReportApiVersions = true; options.AssumeDefaultVersionWhenUnspecified = true; - options.ApiVersionReader = new QueryStringApiVersionReader("apiVersion"); + //options.ApiVersionReader = new UrlSegmentApiVersionReader(); + //options.ApiVersionReader = new MediaTypeApiVersionReader(); options.ConfigureAbp(services); });