Как выполнить преобразование клиентов для QueryParameters в. net Core - PullRequest
0 голосов
/ 06 мая 2020

Я использую. net core 3.1, и я зарегистрировал несколько пользовательских преобразователей, используя

services.AddControllersWithViews().AddJsonOptions(x =>
            {
                x.JsonSerializerOptions.Converters.Add(new LocalDateConverter());
                x.JsonSerializerOptions.Converters.Add(new InstantConverter());
                x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
            });

, который отлично работает для вещей в теле запроса или ответа, но если я использую параметр запроса с [FromQuery] эти преобразователи не называются. Я не нашел, как зарегистрировать конвертеры параметров запроса. Я предполагал, что они будут совместно использоваться, но я протестировал, и мои конвертеры определенно вызываются для тех же типов в теле json, но не в параметрах.

Моя конечная точка веб-контроллера выглядит как

[HttpGet]
public async Task<object> GetStuff([FromQuery] LocalDate? dateTest, [FromQuery] Instant? instantTest)
...