我在here找到了“使用POST查询”。
并试图从命令中使用curl命令。通过引用this来安装curl。
这是我的CURL字符串:
curl -D- -u admin:password -X POST -H "Content-Type: application/json" --data
'{"jql":"project = CI","startAt":0,"maxResults":50,"fields":["summary","status","assignee"]}'
"https://myclientname.atlassian.net/rest/api/2/search"
这就是我正在做的并且收到错误:
{"errorMessages":["Unexpected character (''' (code 39)): expected a valid value
(number, String, array, object, 'true', 'false' or 'null')\n
at [Source: org.apache.catalina.connector.CoyoteInputStream@1626cb2; line: 1, column: 2]"]}
在Windows中制作这个卷曲字符串有什么问题吗?请指教?我该如何纠正这个并获取JSON对象?请注意,userID,密码和客户端名称是正确的。感谢。
答案 0 :(得分:12)
似乎是一个Windows问题。不要使用'
(单引号)字符。
相反,使用"
(双引号)字符来包含字符串。然后,如果你有内部引号,使用"""
(3x双引号)来逃避它们。
示例:"{ """name""":"""Frodo""", """age""":123 }"
答案 1 :(得分:1)
我尝试了你在问题中指出的cURL,但没有运气。此外,cURL附带Git也不起作用。但是,我用CygWin安装的那个可以工作。同样的命令也在Ubuntu中运行。这基本上表明你的命令本身就没问题。
如果您使用的是Windows,我建议您使用名为Fiddler的工具。它可以执行您可能需要的几乎所有HTTP请求。祝你好运!
<强>更新强> 在这里,我添加了使用Fiddler发出HTTP POST请求的步骤。
1)启动Fiddler后,您将看到如图1所示的GUI。右上方的面板是您应该输入JIRA网站,请求类型和您要发布的内容等工作人员的位置。具体而言,在&#34;作曲家&#34;选项卡,您需要选择&#34; POST&#34;作为您的请求类型,并将JIRA的URL放在那里,保持选择HTTP / 1.1。您应该将请求标头放在URL栏下。 现在,你需要注意。至少,您应该在HTTP标头中输入两个内容:内容类型,即&#34; application / json&#34;和授权标头。身份验证是Base64字符串,您可以使用&#34; admin:password&#34;获取Base64字符串here。如果您想了解有关基本身份验证方法的更多信息,请参阅Jira的网站here。 GUI的右下方面板是您应该放置帖子内容的地方。
2)当你准备好这些员工时,你可以点击&#34;执行&#34; GUI右上角的按钮。执行结果将显示在左侧面板中。如图2所示,如果你得到状态为200的结果,恭喜你,你得到了它。如果您获得其他类型的结果,请在此处输入错误代码或发表评论。
3)双击结果,返回的JSON内容将显示在右下方面板中,如图3所示。您可以尝试使用不同的选项卡查看返回的人员。例如,如果您转到&#34; TextView&#34;,您将获得返回的JSON作为纯字符串。
如果您有任何其他问题,请发表评论。
答案 2 :(得分:0)
请验证是否有任何值用单引号引起来。
例如
kv
答案 3 :(得分:0)
试试这个。它应该可以工作。
curl -D- -u admin:password -X POST -H "Content-Type: application/json" --data
\\"{"jql":"project = CI","startAt":0,"maxResults":50,"fields":["summary","status","assignee"]}\\"
"https://myclientname.atlassian.net/rest/api/2/search"
不要忘记在 json 前后使用斜杠(\*{}\*} 前后