Browse Source

Skip handling `queryStringParameter/pathParameter` if a converter exists.

pull/23018/head
maliming 1 year ago
parent
commit
ace40c5c0b
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 4
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs
  2. 12
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs

4
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs

@ -119,8 +119,8 @@ public class ClientProxyUrlBuilder : ITransientDependency
if (path != null)
{
urlBuilder = urlBuilder.Replace($"{{{pathParameter.Name}}}", path);
continue;
}
continue;
}
}
@ -164,8 +164,8 @@ public class ClientProxyUrlBuilder : ITransientDependency
urlBuilder.Append(isFirstParam ? "?" : "&");
urlBuilder.Append(queryString);
isFirstParam = false;
continue;
}
continue;
}
}

12
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs

@ -5,7 +5,9 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Shouldly;
using Volo.Abp.Application.Dtos;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.Domain.Repositories;
@ -17,10 +19,11 @@ namespace Volo.Abp.TestApp.Application;
public class PeopleAppService : CrudAppService<Person, PersonDto, Guid>, IPeopleAppService
{
public PeopleAppService(IRepository<Person, Guid> repository)
private readonly IHttpContextAccessor _httpContextAccessor;
public PeopleAppService(IRepository<Person, Guid> repository, IHttpContextAccessor httpContextAccessor)
: base(repository)
{
_httpContextAccessor = httpContextAccessor;
}
public async Task<ListResultDto<PhoneDto>> GetPhones(Guid id, GetPersonPhonesFilter filter)
@ -129,6 +132,11 @@ public class PeopleAppService : CrudAppService<Person, PersonDto, Guid>, IPeople
public Task<string> GetParamsFromQueryAsync([FromQuery] GetParamsInput input)
{
if (_httpContextAccessor.HttpContext != null)
{
_httpContextAccessor.HttpContext.Request.QueryString.ToString().ShouldNotContain("ExtraProperties=Volo.Abp.Data.ExtraPropertyDictionary");
}
return Task.FromResult(input.NameValues?.FirstOrDefault()?.Name + "-" + input.NameValues?.FirstOrDefault()?.Value + ":" +
input.NameValues?.FirstOrDefault()?.ExtraProperties["TestPropertyInList"] + ":" +
input.NameValues?.LastOrDefault()?.Name + "-" + input.NameValues?.LastOrDefault()?.Value + ":" +

Loading…
Cancel
Save