[英]C# create JSON for REST Api call
我正在尝试使用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和使用值,但是我遇到了同样的问题。
您的课程应如下所示:
public class JiraResponse
{
public class JiraResponseProject
{
public string Key { get; set; }
}
public class JiraResponseIssueType
{
public string Name { get; set; }
}
private JiraResponseProject _project = new JiraResponseProject();
private JiraResponseIssueType _issueType = new JiraResponseIssueType();
public JiraResponseProject Project => _project;
public JiraResponseIssueType IssueType => _issueType;
public string Summary { get; set; }
public string Description { get; set; }
}
由于我无法发表评论,并且我们也使用Jira并利用了API,因此,这里有用于c#的API的现有包装器: https : //www.nuget.org/packages/Atlassian.SDK/,这将为您节省很多工作-绝对是为我做的。
托管项目站点: 在bitbucket上
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.