我正在使用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获取响应吗?
答案 0 :(得分:2)
由API开发人员决定是否尊重媒体类型(application / json)。当客户端请求JSON时(如果他们感觉像是拖钓),开发人员可以显式返回XML,但在这种情况下,它可能只是为您提供默认格式,因为他们不会检查标头值。
检查文档或直接与他们联系以确认他们以JSON格式返回数据以及如何格式化请求以获取JSON。
答案 1 :(得分:-1)
您应该设置Accept:application / json以及Content-Type:application / json。