我使用Jira Rest Api从我们的Jira-System读取数据。在大多数情况下,这样可以正常工作,但如果& 处于查询状态,我会遇到问题。
我尝试以下查询:
http://jira-test.meinServer.de/rest/api/2/search?jql=labels= “F急症”
产生此错误消息:
“Feler in Der JQL-Abfrage:Die ZeichenfolgemitAnführungszeichen'F'wurdenicht abgeschlossen。(Zeile 1,Zeichen 8)”
in englisch: “JQL语法错误:'F'字符串未关闭。(第1行,第8行)”
我发现& 是问题所在。但我找不到一些解决方法或文档如何逃避这一点。
有人为此得到了解决方案吗?
答案 0 :(得分:3)
您没有正确编码查询字符串。尝试:http://jira-test.meinServer.de/rest/api/2/search?jql=labels%3D%22F%26E%22
<强>参考强>
在?
和#
字符之间捕获的URI部分称为查询字符串(#
之后的部分称为<强>片段强>)。通常,查询是由{key}={value}
字符分隔的一系列键值对(布局为&
)。
如果您分析所提供的网址并按&
拆分,您会看到实际上您在查询字符串中传递了两个参数:
jql
,其值为labels="F
E"
没有值第二个参数被忽略,因为这个特定的REST端点并不期望它。您现在可以清楚地看到您在URL中传递格式错误的JQL。这是因为您希望在JQL查询中包含特殊字符。
为了使您能够正确编码JQL。这是一个常见问题,大多数平台都提供了这样做的工具。以下是JavaScript,C#和Java的示例。
Click here了解有关查询字符串的更多信息。