簡體   English   中英

使用 HttpClient.PostAsJsonAsync(something) 時是否可以使用 Newtonsoft.Json?

[英]Is it possible to use Newtonsoft.Json when using HttpClient.PostAsJsonAsync(something)?

假設我想像這樣添加一個類型化的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序列化程序而不是內置序列化程序。

編輯:剛剛注意到我使用的PostAsJsonAsync(...)GetFromJsonAsync(...)System.Net.Http.Json中定義的擴展方法,這基本上使整個問題無效。

如果要使用Newtonsoft.Json ,請使用System.Net.Http.HttpClientExtensions 命名空間

如果要使用新的System.Text.Json ,請使用System.Net.Http.Json.HttpClientJsonExtensions 命名空間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM