Можно ли использовать Newtonsoft. Json при использовании HttpClient.PostAsJsonAsyn c (что-то)? - PullRequest
2 голосов
/ 05 августа 2020

Допустим, я хочу добавить набранный HttpClient вот так:

services.AddHttpClient<ISomeService, SomeService>(c =>
{
    c.BaseAddress = new Uri(someUrl);
});

Можно ли заставить его использовать Newtonsoft.Json для сериализации при отправке запросов? Желательно аналогичным образом, как это может быть добавлено для контроллеров:

services.AddControllers()
    .AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
    });

Чтобы, когда я использую HttpClient экземпляр, как этот: await httpClient.PostAsJsonAsync(testDto), Newtonsoft.Json сериализатор используется вместо встроенного one.

EDIT: только что заметил, что PostAsJsonAsync(...) и GetFromJsonAsync(...), которые я использую, являются методами расширения, определенными в System.Net.Http.Json, что в основном делает весь этот вопрос недействительным.

1 Ответ

2 голосов
/ 05 августа 2020

Если вы хотите использовать Newtonsoft.Json, используйте пространство имен System.Net.Http.HttpClientExtensions .

Если вы хотите использовать новый System.Text.Json, используйте System.Net.Http.Json.HttpClientJsonExtensions пространство имен .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...