Получите 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

Другие вопросы по тегам