【问题标题】:NuGet API Get Version of packageNuGet API 获取包的版本
【发布时间】:2019-03-27 14:45:20
【问题描述】:

我正在尝试从包中获取最新版本(在我的情况下,我尝试使用 StyleCopAnalyzer 包 https://www.nuget.org/packages/StyleCop.Analyzers)。

我的目标是找出这个包的最新版本是什么,我尝试使用以下 get api 调用:

https://api.nuget.org/v3/registration3/StyleCop.Analyzers/index.json

由于请求中的一些错误,我得到了这个json:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Error>
<Code>BlobNotFound</Code>
<Message>The specified blob does not exist. RequestId:c2c2ffba-701e-0063-0daa-e47670000000 Time:2019-03-27T14:38:14.3708948Z</Message>
</Error>

我在此文档的帮助下创建了此请求:

https://docs.microsoft.com/en-us/nuget/api/overview

提前感谢您帮助我。

【问题讨论】:

    标签: api get request nuget


    【解决方案1】:

    详细说明@zivkan 的答案,我发现this post 对背景上下文很有用。

    特别值得注意的是,NuGet 服务器维护者宣布他们将通过此端点添加对“semver 2.0”包的支持:

    今天,从 api/v3/index.json 中可以看到两个注册配置单元:

    1. https://api.nuget.org/v3/registration1/
    2. https://api.nuget.org/v3/registration1-gz/

    我们将添加第三个:

    1. https://api.nuget.org/v3/registration1-semver2-gz/

    通过文档对我来说并不明显的是 semver2 端点也返回 non-semver 2 包的元数据(经过反思,这对于 semver 1.0 之后的任何包都是有意义的约定与 semver 2.0 向前兼容)

    我已更新我的代码以不再使用 https://api.nuget.org/v3/registration3/ 在任何情况下都始终使用 https://api.nuget.org/v3/registration5-gz-semver2

    此更改简化了我的验证代码,包括package I was looking for(以及其他 121 个)

    Peter K的包可以使用:

    https://api.nuget.org/v3/registration5-gz-semver2/stylecop.analyzers/index.json

    【讨论】:

      【解决方案2】:

      您提供的 URL 记录在 package metadata page 上。关于 URL 格式的部分是这样的:

      获取 {@id}/{LOWER_ID}/index.json

      姓名输入类型必填说明

      LOWER_ID URL string yes 包ID,小写

      LOWER_ID 值是使用 .NET 的 System.String.ToLowerInvariant() 方法实现的规则小写的所需包 ID。

      在页面的其他地方,当有示例 URL 时,您也可以看到包 id 是小写的。

      此外,在页面顶部有一个small table about versioning。正如文档所说,使用 v3.0.0 或 v3.4.0 注册库不会返回使用 SemVer2 版本字符串的包。因此,如果你想避免丢失包版本,你应该得到RegistrationsBaseUrl/3.6.0和小写包ID:

      https://api.nuget.org/v3/registration3-gz-semver2/stylecop.analyzers/index.json

      【讨论】:

        猜你喜欢
        • 2020-08-07
        • 1970-01-01
        • 2019-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多