【发布时间】:2021-08-30 12:19:45
【问题描述】:
我可以使用 Postman 将内容类型为 x-www-form-urlencoded 的请求成功发布到 REST API。
但是,当我尝试在 Blazor 服务器端应用程序中发布相同的帖子时,我收到 401 错误。
我的代码相关部分如下:
FormUrlEncodedContent content = new(new Dictionary<string, string>()
{
["qualification_id"] = qualification.QualificationId,
["period_id"] = qualification.PeriodId,
["taken_date"] = qualification.CompletedDateString,
["expiration_date"] = qualification.ExpirationDateString,
});
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var request = new HttpRequestMessage(HttpMethod.Post, requestUri);
request.Headers.Add("x-api-key", xApiKey);
var client = _clientFactory.CreateClient();
var response = await client.PostAsync(requestUri, content);
var ret = await response.Content.ReadFromJsonAsync<MemberQualification>();
return ret;
任何建议将不胜感激。注意 - API 似乎对任何事情都返回 401 错误,包括我认为应该是 400 的错误 - 我相信我的 x-api-key 凭据是正确的,并且已在其他 httpClient 调用的其他地方成功使用。
【问题讨论】:
标签: blazor dotnet-httpclient blazor-server-side