问题描述
您好,我正在使用它来调用GitLab API:
this.postWithApiUrl(url,this.req).then(response => {
console.log(response);
});
此响应中包含标题>结果视图> X-Total-Pages键
如何获得其价值?
解决方法
因此,我编写了此方法来从GIT API获取标签列表。我使用了 X-Total-Pages 而不是 X-Total ,它可以避免API分页结果并将其全部列出:
{
List<Tag> tags = new List<Tag>();
List<Tag> one_site_of_tags = new List<Tag>();
string apiPath = WhichRepo(repository)[0] + "projects/" + appId + "/repository/tags";
HttpResponseMessage response = await client.GetAsync(apiPath);
string number_tag_sites = response.Headers.FirstOrDefault(x => x.Key == "X-Total-Pages").Value.FirstOrDefault();
for (int site = 1;
site <= Int16.Parse(number_tag_sites);
site++)
{
string apiPath2 = apiPath + "?page=" + site;
var content = await client.GetStringAsync(apiPath);
one_site_of_tags = JsonConvert.DeserializeObject<List<Tag>>(content);
tags.AddRange(one_site_of_tags);
}
return tags;
}