我正在使用HttpClient来使用来自ASP.NET Web API控制器的外部API。我没有使用身份验证,只是一个令牌,所以我有:
using (var httpClient = new HttpClient()) {
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await httpClient.GetAsync(endpoint);
}
我总是以XML格式获取响应,但是我发送的标题为“ application / json”。
我是否缺少某些东西,这是外部API的问题?
我还能尝试用JSON获得响应吗?
API开发人员必须尊重媒体类型(application / json)。当客户端请求JSON(如果他们想拖钓)时,开发人员可以显式返回XML(尽管在这种情况下,它可能只是为您提供默认格式,因为他们不检查标头值。
检查文档或直接与他们联系以确认它们以JSON格式返回数据以及如何格式化请求以获取JSON。
您应该设置Accept:application / json以及Content-Type:application / json。