【发布时间】:2014-08-17 18:42:42
【问题描述】:
我正在努力实现this rest api:
public async Task<bool> AddTimetracking(Issue issue, int spentTime)
{
// POST /rest/issue/{issue}/timetracking/workitem
var workItem = new WorkItem(spentTime, DateTime.Now);
var httpContent = new StringContent(workItem.XDocument.ToString());
var requestUri = string.Format("{0}{1}issue/{2}/timetracking/workitem", url, YoutrackRestUrl, issue.Id);
var respone = await httpClient.PostAsync(requestUri, httpContent);
if (!respone.IsSuccessStatusCode)
{
throw new InvalidUriException(string.Format("Invalid uri: {0}", requestUri));
}
return respone.IsSuccessStatusCode;
}
workItem.XDocument 包含以下元素:
<workItem>
<date>1408566000</date>
<duration>40</duration>
<desciption>test</desciption>
</workItem>
我收到来自 API 的错误:Unsupported Media Type
我真的不知道如何解决这个问题,非常感谢帮助。我如何使用HttpClient 通过 HTTP POST URI 编组 XML 文件?
【问题讨论】:
-
您将日期计算为秒,但链接中的示例使用毫秒。
-
@L.B,将其更改为毫秒,没有运气。我想我对 HttpContent 做错了。不幸的是,谷歌对我帮助不大
-
PS:当我使用完全相同的参数设置 Firefox 海报时,它可以工作。从 C# 中尝试的运气并没有那么好。
-
bas,下载fiddler,看看firefox和你的代码有什么区别..
-
@L.B,谢谢你的提示,我明天试试。
标签: c# post httpclient