【发布时间】:2018-11-08 01:07:26
【问题描述】:
我正在尝试使用 C# 中的 POST 在 Jira 中创建问题。 该调用返回此 JSON:
{
"fields": {
"project":
{
"key": "BBR"
},
"summary": "REST ye merry gentlemen.",
"description": "Creating of an issue using project keys and issue type names using the REST API",
"issuetype": {
"name": "Story"
}
}
}
我想在 C# 中实现一个方法,所以我创建了 JiraCreateIssueResponse 类:
{
public List<string> Project { get; set; } = new List<string>();
public string Summary { get; set; }
public string Description { get; set; }
public List<string> IssueType { get; set; } = new List<string>();
}
下面是我尝试使用给定参数进行具体调用的方法:
JiraCreateIssueResponse JiraIssueParams = new JiraCreateIssueResponse
{
Project = { $"key = {ProjectKey}" },
Summary = summary,
Description = "",
IssueType = { $"name = Story" }
};
RestRequest restRequest = GetRestRequest(Method.POST, $"{JiraConstants.Urls.Issue}", JiraIssueParams, null);
然而,我实现了一个测试来验证这个方法,它给了我一个关于反序列化的错误,所以我得出结论,我没有很好地解析我的 JSON。 有人知道我的错误吗? 我尝试了其他实现 JSON 和使用值的方法,但我遇到了同样的问题。
【问题讨论】:
-
{ "issuetype": { "name": "Story" }}问题类型(或项目)对你来说看起来像一个列表/数组吗?它是一个对象(或字典) -
我应该如何实现这个?
-
你需要修改你的班级
..., Project = new Project { Key = "BBR" }, IssueType = new IssueType { Name = "Story" }。那么GetRestRequest()如何序列化并发送你的JiraIssueParams呢?