从Nuget.Server获取Json而不是XML

时间:2017-12-19 21:24:00

标签: c# .net .net-core nuget-server

我已经设置了一个Nuget.Server来托管一个私有的nuget feed。我试图通过API访问该Feed,但我不能说服它给我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

检查了Formatters
GlobalConfiguration.Configuration.Formatters

有四种格式化程序,第一种是json。

如何让API返回json而不是XML?

1 个答案:

答案 0 :(得分:3)

您的代码没有错。但是,您似乎正在调用仅支持XML的Nuget API V2。您可以查看响应内容类型。

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