繁体   English   中英

API 响应 C# 中的“不支持的媒体类型”

[英]API response “Unsupported Media Type” in C#

以下是我的代码。

using (var client = new HttpClient())
{
var content = JsonConvert.SerializeObject(item);
var MemberIdDto = new StringContent(content, UnicodeEncoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("WWW-Authenticate", "Basic 123456789");
var response = client.PostAsync(URL, MemberIdDto).Result;
var result = response.Content.ReadAsStringAsync();
}

content包含 json,我收到“不支持的媒体类型”作为响应。 response.IsSuccessStatusCode是假的我试图添加

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

但我仍然得到相同的回应。 我也尝试过使用application/text ,但它不起作用当我使用 Postman 尝试这个时,它工作正常。

尝试从响应中删除.Result 并添加等待,因为您使用的是 ReadAsStringAsync:

var response = client.PostAsync(URL, MemberIdDto);
var result = await response.Content.ReadAsStringAsync();

我强烈建议您添加到您的代码中:

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM