Получите Json вместо XML от Nuget.Server
Я настроил Nuget.Server для размещения частного фида Nuget. Я пытаюсь получить доступ к этому каналу через API, однако я не могу убедить его дать мне json вместо XML.
Мой код клиента выглядит следующим образом:
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var packagesResult = client.GetAsync("http://localhost:61654/nuget/FindPackagesById()?id=\'Moq'").Result;
Console.WriteLine(packagesResult.Content.ReadAsStringAsync().Result);
Я проверил форматтеры из App_Start
GlobalConfiguration.Configuration.Formatters
Есть четыре форматера, и первый - json.
Как я могу заставить API возвращать json вместо XML?
1 ответ
Решение
Ничего плохого в вашем коде. Но, похоже, вы вызываете Nuget API V2, который поддерживает только XML. Вы можете проверить тип содержимого ответа.
Content-Type: application/atom+xml; type=feed; charset=utf-8
Если вы хотите, чтобы API возвращал JSON вместо XML, используйте Nuget API V3.
Определение API: https://api.nuget.org/v3/index.json
Пример: https://api.nuget.org/v3/registration3/moq/index.json