如何在Nexus Rest Api中获取最新版本的版本库?

问题描述 投票:-1回答:1

我正在使用Nexus Rest Api,根据我的需要,我已经将文件上传到我的仓库,我想获得仓库的最新版本,如下图,对于2 - 3个版本,我可以将细节保存到数组中,然后进行我的处理,如果超出了限制,那么保存过程将是漫长的,所以请建议我。

{
  "items": [
    {
      "id": "string",
      "repository": "string",
      "format": "string",
      "group": "string",
      "name": "1.0",
      "version": "1.0",
      "assets": [
        {
          "downloadUrl": "string",
          "path": "string",
          "id": "string",
          "repository": "string",
          "format": "string",
          "checksum": {
            "additionalProp1": {},
            "additionalProp2": {},
            "additionalProp3": {}
          }
        }
      ]
    },{
      "id": "string",
      "repository": "string",
      "format": "string",
      "group": "string",
      **"name": "2.0",
      "version": "2.0",**
      "assets": [
        {
          "downloadUrl": "string",
          "path": "string",
          "id": "string",
          "repository": "string",
          "format": "string",
          "checksum": {
            "additionalProp1": {},
            "additionalProp2": {},
            "additionalProp3": {}
          }
        }
      ]
    }
  ],
  "continuationToken": "string"
}

请帮助我得到最新的版本 "名称"。"2.0","版本"。"2.0",...从我的仓库。

谢谢。

ios swift sonarqube nexus
1个回答
1
投票

如果你的问题是如何使用json。

struct Response: Codable {
    struct Item: Codable {
        var id: String
        var name: String
        var version: String
    }
    var items: [Item]
}

解码你的json字符串。

var response: Response?
func decodeResponse() {
    guard let jsonData = jsonString.data(using: .utf8),
        let decoded = try? JSONDecoder().decode(Response.self, from: jsonData) else {
            print("Not Response")
      return
    }
    response = decoded
}

获取最高版本

func getHighestVersion() -> String? {
    return response?.items.sorted(by: { $0.version > $1.version }).first?.version
}
© www.soinside.com 2019 - 2024. All rights reserved.