是否可以在 .Net/Web Api 中将 HttpClient 的请求 ACCEPT header 设置为包含“application/json;odata=verbose”?
我知道如何设置请求媒体类型
HttpClient client = new HttpClient(handler);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
但是如何设置 odata=verbose 部分呢?我似乎无法在网上找到任何解决方案来做到这一点。
我必须改用 HttpWebRequest 吗?基本上我需要调用 Sharepoint 2013 rest api,并且 odata=verbose 部分是必需的。
最佳答案
MediaTypeWithQualityHeaderValue
有一个名为 Parameters 的属性,您可以向其中添加“odata=verbose”参数。
其他简单的方法是调用 MediaTypeWithQualityHeaderValue
的 Parse/TryParse 方法,您可以向其提供整个“application/json;odata=verbose”媒体类型字符串。
这是一个使用 Parse 的例子
using (HttpClient httpClient = new HttpClient())
{
//Setup Accept Header
MediaTypeWithQualityHeaderValue acceptHeader = MediaTypeWithQualityHeaderValue.Parse("application/json;odata=verbose");
httpClient.DefaultRequestHeaders.Accept.Add(acceptHeader);
//... do other stuff
}
关于c# - HttpClient 请求头自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15237049/