@OwDafuq

Почему в запросе нет тела?

При отправке 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:
64f6c9ddc9b5f277842185.png

Запрос из Blazor Server:
64f6ca1fa4e86548833960.png
Код 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);
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы