快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

怎么在Nexus中使用Api

怎么在Nexus中使用Api?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

10年积累的成都做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有德令哈免费网站建设让你可以放心的选择与我们合作。

前提准备

准备可运行的Nexus,这里的版本为3.2.1

怎么在Nexus中使用Api

Api机制

这篇文章介绍的是Nexus3推出之初的Api的设计思路,主要是通过结合groovy脚本来完成相关的功能,简单的来说需要用户自行提供groovy脚本,nexus提供上传和运行脚本的接口,虽然有些粗糙,但是大部分功能毕竟留出了一个方式供用户去使用,强大的groovy脚本中至于需要实现什么样的功能,那就看用户自己的需要了。在一定程度上来说,算是一个能够创造API的API

使用步骤

步骤1: 以json文件为载体,创建可运行的groovy脚本

格式大体如下:

{
 "name": "脚本名称",
 "type": "groovy",
 "content": "groovy语句"
}

注意事项:

  • 注意双引号和单引号的使用

  • 脚本的名称会成为后续API的一部分,请注意命名

步骤2: 上传json文件

使用如下方式和接口即可上传相应包含groovy操作的json文件

  • 接口:/service/siesta/rest/v1/script

  • 方法:POST

  • 文件:将步骤1中准备的文件作为POST的内容传入

步骤3: 执行groovy文件

使用如接口即可执行在步骤2中上传的groovy脚本

  • 接口:/service/siesta/rest/v1/script/脚本名称/run

  • 方法:POST

此处需要注意脚本名称也会是执行接口中的一部分,命名变得灰常重要。

使用示例

这里使用上述方式来演示一下如何在Nexus中创建一个Raw类型的repository。

步骤1: 以json文件为载体,创建可运行的groovy脚本

因为创建repository需要指定blob,如果没有指定则会使用default,但是如果项目众多,将会导致default非常巨大,在前面介绍nexus的使用实践中也给出过对于不同的repository创建自己的blob,所以这里创建如下的json文件:

liumiaocn:~ liumiao$ cat rawrepotest1.json 
{
 "name": "rawrepotest1",
 "type": "groovy",
 "content": "def rawStore = blobStore.createFileBlobStore('rawrepotest1', 'raw');repository.createRawHosted('rawrepotest1', rawStore.name);"
}
liumiaocn:~ liumiao$

建议:因为Nexus的这种使用方式本身就不是非常完整的方式,建议使用的过程中诸如rawrepotest1全部一致,这样blob和repository的关系也比较清楚,无非多上传几个大小可以忽略不计的json文件而已。

步骤2: 上传json文件

liumiaocn:~ liumiao$ curl -X POST -u admin:admin123 --header "Content-Type: application/json" http://localhost:32004/service/siesta/rest/v1/script -d @rawrepotest1.json
liumiaocn:~ liumiao$

步骤3: 执行groovy文件

liumiaocn:~ liumiao$ curl -X POST -u admin:admin123 --header "Content-Type: text/plain" http://localhost:32004/service/siesta/rest/v1/script/rawrepotest1/run
{
 "name" : "rawrepotest1",
 "result" : "RepositoryImpl$$EnhancerByGuice$$13e8178d{type=hosted, format=raw, name='rawrepotest1'}"
}liumiaocn:~ liumiao$

结果确认

blob确认

已经生成相应的blob:rawrepotest1

怎么在Nexus中使用Api

repository确认

已经生成相应的raw方式的repository:rawrepotest1

怎么在Nexus中使用Api

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网页名称:怎么在Nexus中使用Api
文章分享:http://6mz.cn/article/ihdpsp.html

其他资讯