如何仅使用Blazor获得API响应状态代码?

时间:2019-08-18 10:18:17

标签: asp.net-core blazor

我需要你们的帮助。我正在使用Blazor开发前端,该前端将请求发送到ASP.Net Core。 我有以下代码可获取API响应,在这种情况下,它将返回响应的整个主体。我要在这里尝试的只是响应的状态码,例如(200)。

await Http.SendJsonAsync(HttpMethod.Post, "https://da3.mock.pstmn.io/api/register", CurrentUser);

var response = await Http.GetStringAsync("/api/register");
Console.WriteLine(response);

2 个答案:

答案 0 :(得分:0)

使用其他GetAsync方法。

//var response = await Http.GetStringAsync("/api/register");
//Console.WriteLine(response);

var response = await Http.GetAsync("/api/register");
Console.WriteLine(response.StatusCode);  // also see response.IsSuccessStatusCode

答案 1 :(得分:0)

对于可以使用POST的{​​{1}}方法,需要首先使用PMC安装SendAsync软件包:

Newtonsoft.Json

对于var requestMessage = new HttpRequestMessage() { Method = new HttpMethod("POST"), RequestUri = new Uri("https://localhost:5001/api/default"), Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(CurrentUser)) }; requestMessage.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue( "application/json"); var result = await Http.SendAsync(requestMessage); var responseStatusCode = result.StatusCode; 方法,亨克·霍尔特曼(Henk Holterman)提出的建议(使用GET)效果很好。

参考

https://docs.microsoft.com/en-us/aspnet/core/blazor/call-web-api?view=aspnetcore-3.0#httpclient-and-httprequestmessage-with-fetch-api-request-options