【问题标题】:How to get a content after making POST to create new issue in Gitlab api如何在 POST 后获取内容以在 Gitlab api 中创建新问题
【发布时间】:2021-01-05 11:38:08
【问题描述】:

在 Gitlab api 中你可以使用这个发布新问题:

POST https://localhost/api/v4/projects/2779/issues?title=NewIssue

所以在我的 cmd 应用程序中,我使用的是这样的:

using (var httpClient = new HttpClient()) // post issue
{
    using (var request = new HttpRequestMessage(new HttpMethod("POST"), issue_path + issue_title))
    {
        request.Headers.TryAddWithoutValidation("PRIVATE-TOKEN", "XxXx_xZx4x6xx74xxxXx");
        var response3 = await httpClient.SendAsync(request);
    }
}

发布新问题,但我不知道如何获取此新问题的 IID。 在 RESTer 中,我得到了这个新问题的响应和内容,但我不知道如何在没有另一个 GET 的情况下在这个 POST 请求之后获取内容。

【问题讨论】:

  • 您的 IID 不是在您的 response3 的 Content 属性中返回吗?所以你可以做一个var iid = await response3.Content.ReadAsStringAsync();
  • 是的...我不知道为什么它以前不适合我

标签: c# api rest gitlab httpclient


【解决方案1】:

好的,我找到了答案!!!

 {
   using (var request = new HttpRequestMessage(new HttpMethod("POST"), issue_path + issue_title))
  {
    request.Headers.TryAddWithoutValidation("PRIVATE-TOKEN", "XxXX_xZx4x6xx74XXxXx");
    var response3 = await httpClient.SendAsync(request);
    var content3 = await response3.Content.ReadAsStringAsync();
    Issue new_issue = JsonConvert.DeserializeObject<Issue>(content3);
    int new_issue_iid = new_issue.iid; 

   }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-22
    • 2012-10-05
    • 1970-01-01
    • 2017-09-03
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多