Дело в том, что вы используете расширения Blazor HttpClientJsonExtensions
,
, которые внутренне обычно вызывают
public static Task SendJsonAsync(this HttpClient httpClient, HttpMethod method, string requestUri, object content)
=> httpClient.SendJsonAsync<IgnoreResponse>(method, requestUri, content);
public static async Task<T> SendJsonAsync<T>(this HttpClient httpClient, HttpMethod method, string requestUri, object content)
{
var requestJson = JsonUtil.Serialize(content);
var response = await httpClient.SendAsync(new HttpRequestMessage(method, requestUri)
{
Content = new StringContent(requestJson, Encoding.UTF8, "application/json")
});
if (typeof(T) == typeof(IgnoreResponse))
{
return default;
}
else
{
var responseJson = await response.Content.ReadAsStringAsync();
return JsonUtil.Deserialize<T>(responseJson);
}
}
GET-запросы используют HttpContext.GetStringAsync
внутренне
public static async Task<T> GetJsonAsync<T>(this HttpClient httpClient, string requestUri)
{
var responseJson = await httpClient.GetStringAsync(requestUri);
return JsonUtil.Deserialize<T>(responseJson);
}
, в то время как обычный HttpClient
API все еще существует и может использоваться так же, как и в этих методах расширения.
Эти методы расширения просто заключают вызовы HttpClient
по умолчанию.
Если вы хотите иметь доступ к статусу ответа, вам нужно написать свои собственные обертки, которые предоставляют желаемую функциональность или просто использовать API по умолчанию