[英]How to hit the rest endpoint that has `:.*` as a part of the path param field
我在我的项目中使用Stash的REST API。 我的任务是获取特定标签的标签详细信息。 在检查Stash的REST API文档之后,我找到了我应该使用的正确端点。 它是
/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/tags/{name:.*}
请参阅此链接以获取Stash的REST API文档。
还有一个端点/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/tags
使用此端点,我可以检索所有标签。 StashTag
对象看起来像这样。
{
"id": "refs/tags/v4.0.0",
"displayId": "v4.0.0",
"latestChangeset": "234dadf41742cfc2a10cadc7c2364438bd8891c5",
"latestCommit": "234dadf41742cfc2a10cadc7c2278658bd8891c5"
"hash" : "null"
}
我的第一个问题是,我不知道将哪个字段用作{name:.*}
的参数。 它应该是displayId
还是Id
或其他任何值。
第二个问题是,我不知道拥有:
冒号)后跟一个是什么意思.
(点)在端点/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/tags/{name:.*}
。
有人可以向我解释:.
的目的是什么:.
在路径参数中以及如何达到这种终点。 完整端点的一个示例也很好。
到目前为止,我已经尝试过
https://stashtest.abc.com/rest/api/1.0/projects/KARTIK/repos/kartiks-test-repository/tags/v4.0.0
https://stashtest.abc.com/rest/api/1.0/projects/KARTIK/repos/kartiks-test-repository/tags/refs/tags/v4.0.0
这些端点都不起作用。
任何帮助表示赞赏。
{name:.*}
实际上只是在说字段name
可以是任何东西。 将此内容整理成糟糕的文档。 可以将其视为正则表达式字段,因为这正是它的本质。 我敢肯定,他们曾经有类似^[0-9]
东西,然后回过头来更改它,因为他们意识到仅使用标签号会忽略使用轻量级标签功能的任何人。
从标签版本中删除v
,看看是否有帮助。 如果没有,我也建议创建一个轻量级标签 (类似于mytag
),然后查看是否可以/kartiks-test-repository/tags/mytag
方式进行打标(即/kartiks-test-repository/tags/mytag
)。
但是查看该文档可以告诉我,您的标签名称中的v
引发了REST调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.