【问题标题】:Get Json instead of XML from Nuget.Server从 Nuget.Server 获取 Json 而不是 XML
【发布时间】:2017-12-19 21:23:59
【问题描述】:

我已经设置了一个 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?

【问题讨论】:

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


    【解决方案1】:

    您的代码没有问题。但是,您似乎正在调用仅支持 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

    【讨论】:

    • 我正在使用仅支持 V2 api 的 Nuget.Server (github.com/NuGet/NuGet.Server)。没有托管您自己的 nuget 服务器选项,它支持我能找到的 V3 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 2012-09-22
    • 2015-06-20
    相关资源
    最近更新 更多