При отправке POST запроса через HttpClient в Middleware на сервере (web api) в context.Body ничего нет, хотя при этом в контроллере данные есть ([FromBody] MyClass request). Причем это наблюдается только на Blazor Server, в соседнем приложении на Blazor WASM всё отлично, в Web API данные в context.Body есть. Даже в Swagger'e для Web API если отправить запрос, то данные в context.Body будут.
С чем может быть связано такое поведение?
Оба HttpClient'a сконфигурированы одинаково в двух приложениях.
Запрос из Swagger'a:
Запрос из Blazor Server:
Код blazor server:
builder.Services.AddHttpClient("default").AddPolicyHandler(GetPolicy());
builder.Services.AddScoped(sp =>
{
var factory = sp.GetRequiredService<IHttpClientFactory>();
var client = factory.CreateClient("default");
client.BaseAddress = new Uri(builder.Configuration.GetConnectionString("ApiUrl")!);
return client;
});
var response = await HttpClient.PostAsJsonAsync("api/Test/Test", request);
Код blazor wasm:
builder.Services.AddHttpClient("default").AddPolicyHandler(GetPolicy());
builder.Services.AddScoped(sp =>
{
var factory = sp.GetRequiredService<IHttpClientFactory>();
var client = factory.CreateClient("default");
client.BaseAddress = new Uri(builder.Configuration.GetConnectionString("ApiUrl")!);
return client;
});
var response = await HttpClient.PostAsJsonAsync("api/Test/SecondTest", request);