尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Artipie REST API参考手册:用Swagger管理仓库、用户与角色的完整指南

Artipie REST API参考手册:用Swagger管理仓库、用户与角色的完整指南 Artipie REST API参考手册用Swagger管理仓库、用户与角色的完整指南【免费下载链接】artipieBinary Artifact Management Tool项目地址: https://gitcode.com/gh_mirrors/ar/artipieArtipie 是一款开源的二进制制品管理工具Binary Artifact Management Tool统一托管 Maven、Docker、npm、PyPI、Helm 等多种格式的软件包。本文带你快速上手 Artipie REST API如何通过内置的 Swagger 界面/api/index.html管理仓库、用户与角色获取 JWT 令牌并调用全部/api/v1/管理接口。无需阅读冗长文档跟着这份指南即可完成日常运维。为什么需要 Artipie REST API传统 Artipie 通过 YAML 配置文件管理仓库改动后需要重启。而 REST API 让你动态完成全部管理操作✅ 创建、查看、移动、删除仓库✅ 管理用户创建、改密、禁用/启用✅ 管理角色与权限基于 YAML 策略✅ 管理存储别名Storage Alias✅ 所有接口都通过Swagger UI可视化调用边看文档边发请求第一步打开 Swagger 文档界面启动 Artipie 后在浏览器访问http://localhost:8086/api/index.html这是由 Vert.x 静态处理器加载的 Swagger UI 页面源码见 RestApi.java。它由 5 份 OpenAPI 3.0 描述文件拼装而成全部位于artipie-main/src/main/resources/swagger-ui/yaml/目录描述文件覆盖模块repo.yaml仓库与存储别名users.yaml用户管理roles.yaml角色管理token-gen.yamlJWT 令牌签发settings.yaml服务器设置 除令牌签发和端口查询外所有接口都需要携带 JWT Bearer 令牌因此建议先完成下一步。获取 JWT 访问令牌一切调用的起点管理接口使用bearerAuthHTTP Bearer JWT鉴权。用账号密码换取令牌POST /api/v1/oauth/token请求体只需两个字段{ name: artipie, pass: 你的密码 }成功后返回{token: eyJhbGciOi...}后续所有请求都要在 Header 中带上Authorization: Bearer token在 Swagger UI 中点击右上角Authorize按钮、粘贴令牌即可全局授权。Web 控制台登录界面与此使用同一套认证体系仓库管理接口创建、修改与移动这是最常用的模块对应 repo.yaml方法路径作用GET/api/v1/repository/list列出所有仓库名称GET/api/v1/repository/{rname}获取仓库完整配置HEAD/api/v1/repository/{rname}检查仓库是否存在PUT/api/v1/repository/{rname}创建或更新仓库DELETE/api/v1/repository/{rname}删除仓库PUT/api/v1/repository/{rname}/move移动/重命名仓库GET/PUT/DELETE/api/v1/repository/{rname}/storages[/{aname}]管理仓库级存储别名创建仓库示例PUT 请求体{ repo: { type: pypi, storage: default, permissions: { artipie: [upload, download] } } }Web 界面中Add repository表单背后的正是这个接口YAML 会自动同步常见状态码200/201成功400仓库名不合法401令牌缺失或无效404仓库不存在409配置存在重复。用户管理接口账号全生命周期对应 users.yaml处理逻辑位于 UsersRest.java方法路径作用GET/api/v1/users列出所有用户GET/api/v1/users/{uname}查看用户信息邮箱、所属组PUT/api/v1/users/{uname}创建或替换用户密码、邮箱、组DELETE/api/v1/users/{uname}删除用户POST/api/v1/users/{uname}/alter/password修改密码需旧密码 新密码POST/api/v1/users/{uname}/disable禁用用户POST/api/v1/users/{uname}/enable启用用户创建用户只需 PUT 提交type如plain、pass、email与groups角色组字段。用户被禁用而非删除时可快速恢复其访问权限适合人员离职场景。角色管理接口基于 YAML 策略的权限控制仅当配置了YAML 策略CachedYamlPolicy时角色接口才启用对应 roles.yaml 与 RolesRest.java方法路径作用GET/api/v1/roles列出所有角色及权限GET/api/v1/roles/{role}查看角色权限明细PUT/api/v1/roles/{role}创建或替换角色permissions enabledDELETE/api/v1/roles/{role}删除角色POST/api/v1/roles/{role}/disable禁用角色POST/api/v1/roles/{role}/enable启用角色PUT 请求体的permissions对象描述角色对哪些仓库拥有哪些操作权例如允许reader组只读下载。角色禁用后其下所有用户立即失去对应权限——这是紧急权限回收的最快手段。编辑界面与 REST 接口的角色权限模型保持一致其他实用接口与错误处理查看服务端口GET /api/v1/settings/port返回 Artipie 服务端口无需令牌适合健康检查脚本{ port: 8086 }统一错误格式所有接口出错时返回统一的 JSON 结构{ code: 401, message: Access token is missing or invalid }状态码含义排查建议401令牌缺失/无效/过期重新调用/api/v1/oauth/token400参数或名称不合法检查仓库名格式404资源不存在确认名称拼写409配置重复检查 storages 别名冲突权限校验机制所有管理操作在落库前都会经过权限工厂校验对应源码位于artipie-main/src/main/java/com/artipie/api/perms/目录例如 ApiRepositoryPermissionFactory.java 控制谁可以操作哪个仓库实现真正的最小权限管理。快速上手清单 启动 Artipie打开http://localhost:8086/api/index.html 调用POST /api/v1/oauth/token换取 JWT在 Swagger 中 Authorize 用PUT /api/v1/repository/{rname}创建第一个仓库 用PUT /api/v1/users/{uname}创建用户并分配角色组️ 用PUT /api/v1/roles/{role}精确控制各角色权限至此你已掌握 Artipie REST API 的全部核心能力。更多细节可直接查阅各 OpenAPI 描述文件见上文模块路径或在 Swagger UI 中逐接口体验。【免费下载链接】artipieBinary Artifact Management Tool项目地址: https://gitcode.com/gh_mirrors/ar/artipie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表