Можно ли установить тип содержимого по умолчанию "application / json; v = 2.0". Я говорю по умолчанию, потому что я использую класс HttpClient и использую DefaultRequestHeaders для установки значений по умолчанию для моих прокси.
Я следовал этому примеру для создания своих заголовков https://stackoverflow.com/a/10679340/196526, но я также использую управление версиями, и информация о версиях сохраняется в ContenT-Type
public class BankAccountProxy
{
public void SetToken()
{
Client = new HttpClient();
Client.BaseAddress = new Uri(System.Configuration.ConfigurationManager.AppSettings["ApiRoute"]);
Client.DefaultRequestHeaders.Accept.Clear();
Client.DefaultRequestHeaders.Add("Token", ApiInformations.ApiToken);
Client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue($"application/json;v=2.0"));
}
public async Task<IEnumerable<BankAccount>> Get()
{
HttpResponseMessage response = await Client.GetAsync($"/api/BankAccount/");
response.EnsureSuccessStatusCode();
IEnumerable<BankAccount> bankAccount;
bankAccount = await response.Content.ReadAsAsync<IEnumerable<BankAccount>>();
return bankAccount;
}
}
Когда я запускаю этот код, я получаю
Сообщение об исключении: формат значения application / json; v = 2.0
недействительный.
Из-за v = 2.0, который, вероятно, не является допустимым MediaTypeWithQualityHeaderValue.
Я хочу, чтобы я всегда отправлял информацию о версии в своем значении заголовка Content-Type. Как я могу инициализировать это? Как я могу сказать своему коду, что мой тип контента по умолчанию - не качественный заголовок, а действительный.
Для информации вот мой запрос отлично работает на Почтальон: