【发布时间】:2019-12-11 14:18:13
【问题描述】:
我正在制作一个应用程序,用户可以在其中发布问题等等。我可以使用基本身份验证通过 Postman 发布问题并发布此原始应用程序/json
更新 我已经取得了进展,通过这种方法我得到了基本的身份验证无效错误。但是...我仍然有 400 Bad request 错误。现在的代码是:
public async Task<string> PostIssueAsync(string username, string password)
{
string data = @"{
'fields': {
'project':
{
'key': 'TEST'
},
'summary': 'zfasf',
'description': 'Creating an issue while setting custom field values via projhect ',
'issuetype': {
'name': 'Fault'
}
}
}";
HttpClient client = new HttpClient();
client.BaseAddress = new System.Uri(Constants.JiraUrl + "rest/api/latest/issue");
var cred = GetEncodedCredentials(username, password);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", cred);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var content = new StringContent(data, Encoding.UTF8, "application/json");
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var response = client.PostAsync(client.BaseAddress, content).Result;
if (response.IsSuccessStatusCode)
{
}
else
{
var test = response.Content.ReadAsStringAsync().Result;
}
return "";
}
错误: 在 else 语句中,我使用 ReadAsStringAsync 来查看错误。错误是:"{"errorMessages":["Unexpected character (''' (code 39)): was expecting double-quote to start field name\n at [Source: org.apache.catalina.connector.CoyoteInputStream@ae77320 ;行:2,列:7]"]}"
我认为数据文件出错了。我会在进一步的时候更新。
【问题讨论】:
-
您能否将 var json 的输出发布到问题中,以便我可以更好地帮助您?
-
= new AuthenticationHeaderValue("Basic" -
@Eldar 基本身份验证标头需要空格
-
@craigster 在底部添加了 var json
标签: c# json rest jira jira-rest-api