HttpClient请求标头自定义

Jos*_*orp 4 c# asp.net asp.net-mvc-4 asp.net-web-api dotnet-httpclient

是否可以在.Net/Web Api中设置HttpClient的请求ACCEPT标头以包含"application/json; odata = verbose"?

我知道如何设置请求媒体类型

HttpClient client = new HttpClient(handler);            
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Run Code Online (Sandbox Code Playgroud)

但是如何设置odata = verbose部分呢?我似乎无法在网上找到任何解决方案.

我是否必须使用HttpWebRequest?基本上我需要调用sharepoint 2013 rest api,并且需要odata = verbose部分.

Kir*_*lla 10

MediaTypeWithQualityHeaderValue有一个名为Parameters的属性,您可以在其中添加'odata = verbose'参数.

另一种简单的方法是调用MediaTypeWithQualityHeaderValue的Parse/TryParse方法,您可以为其提供整个"application/json; odata = verbose"媒体类型字符串.