Как программно загрузить один артефакт из архива apache с помощью REST?

Я просмотрел документацию и нашел много полезного. В настоящее время я использую архив apache в качестве зеркала. Загрузка артефактов с помощью maven работает нормально, но по определенным причинам я хотел бы иметь возможность загружать артефакт с помощью REST API.

На данный момент я могу сделать это, используя прямой URL-адрес URL-адреса загрузки артефакта, что не кажется хорошим способом сделать это.

Есть ли какая-либо служба отдыха, которую я пропустил, которая позволила бы мне сделать следующий сервер: порт/рестсервисы/getArtifact/groupId/artifactId/version


person mateuszb    schedule 11.10.2013    source источник
comment
это зависит от репозитория. но я никогда не видел этого   -  person Philipp Sander    schedule 11.10.2013


Ответы (2)


Вызов REST:

GET http://server/restServices/archivaServices/browseService/artifactDownloadInfos/{group}/{artifact}/{version}

Ответ содержит список записей, ключ URL-адреса которых является ссылкой для загрузки артефакта. Для каждого загружаемого ресурса есть запись, например. один для jar, другой для pom и т. д. Ключ «type» можно использовать, чтобы указать, какой.

Пример ответа:

[
      {
      "context": "internal",
      "url": "http://server/repository/internal/group/artifact/version/artifact-version.jar",
      "groupId": "group",
      "artifactId": "obs.interfaces",
      "repositoryId": "internal",
      "version": "version",
      "prefix": null,
      "goals": null,
      "bundleVersion": null,
      "bundleSymbolicName": null,
      "bundleExportPackage": null,
      "bundleExportService": null,
      "bundleDescription": null,
      "bundleName": null,
      "bundleLicense": null,
      "bundleDocUrl": null,
      "bundleImportPackage": null,
      "bundleRequireBundle": null,
      "classifier": null,
      "packaging": "jar",
      "fileExtension": "jar",
      "size": "31.78 K",
      "type": "jar",
      "path": "group/artifact/version/artifact-version.jar",
      "id": "artifact-version.jar",
      "scope": null
   },
      {
      "context": "internal",
      "url": "http://server/repository/internal/group/artifact/version/artifact-version.pom",
      "groupId": "group",
      "artifactId": "artifact",
      "repositoryId": "internal",
      "version": "version",
      "prefix": null,
      "goals": null,
      "bundleVersion": null,
      "bundleSymbolicName": null,
      "bundleExportPackage": null,
      "bundleExportService": null,
      "bundleDescription": null,
      "bundleName": null,
      "bundleLicense": null,
      "bundleDocUrl": null,
      "bundleImportPackage": null,
      "bundleRequireBundle": null,
      "classifier": null,
      "packaging": "pom",
      "fileExtension": "pom",
      "size": "1.58 K",
      "type": "pom",
      "path": "group/artifact/version/artifact-version.pom",
      "id": "artifact-version.pom",
      "scope": null
   }
]

Наслаждаться!

person Dan    schedule 22.10.2013

Вы можете скачать артефакты, нажав URL-адрес Maven. Возвращенные артефакты из поиска должны вернуть его вам.

person Olivier Lamy    schedule 13.10.2013