从 API 中获得 JSON 的回复
Get response in JSON from API
我正在使用 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 格式的回复,但我发送 header 和 "application/json"。
我是不是遗漏了什么,这是外部 API 的问题吗?
我还能尝试什么来获得 JSON 中的响应?
API 开发人员是否尊重媒体类型 (application/json)。开发人员可以在客户端请求 JSON 时显式 return XML(如果他们想拖钓),但在这种情况下,它可能只是给你默认格式,因为他们不要检查 header 值。
检查文档或直接与他们联系以确认他们 return 数据的 JSON 格式以及如何格式化请求以获得 JSON.
您应该设置 Accept: application/json 以及 Content-Type: application/json.
我正在使用 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 格式的回复,但我发送 header 和 "application/json"。
我是不是遗漏了什么,这是外部 API 的问题吗?
我还能尝试什么来获得 JSON 中的响应?
API 开发人员是否尊重媒体类型 (application/json)。开发人员可以在客户端请求 JSON 时显式 return XML(如果他们想拖钓),但在这种情况下,它可能只是给你默认格式,因为他们不要检查 header 值。
检查文档或直接与他们联系以确认他们 return 数据的 JSON 格式以及如何格式化请求以获得 JSON.
您应该设置 Accept: application/json 以及 Content-Type: application/json.