繁体   English   中英

带空格的 URL rest api 参数

[英]URL rest api parameter with spaces

我正在使用 JIRA 的其余 API 来检索问题,同时过滤项目名称和问题类型。

当我尝试使用 API 调用时:

String url3 = "jiraURL/rest/api/2/search?jql=project=GB AND issuetype=Requirement&maxResults=1000";

有用!

但是当我尝试:

  String url3 = jiraURL/rest/api/2/search?jql=project=GB AND issuetype=Product Risk&maxResults=1000";

我得到了HttpClientErrorException: 400 这意味着我的网址是错误的。 我认为错误在于问题类型这两个词之间有一个空格。

我已经试过用 + 代替空格,但这不起作用。 我的第一个电话工作得很好。 但我不知道如何解决第二个电话。

每个参数名称和值都应进行 URL 编码。 然后它们应该用一个分隔符('&' 或 ';')连接起来。 看着

...?jql=project=GB AND issuetype=Product Risk&maxResults=1000

我不确定jqlprojectissuetype是否是单独的参数,或者整个字符串是否是jql的值。 如果是前者,空格应替换为其 URL 编码形式(“%20”):

...?jql=&project=GB%20AND%20issuetype=Product%20Risk&maxResults=1000

如果是后者,“=”也应该是 URL 编码的:

...?jql=project%3DGB%20AND%20issuetype%3DProduct%20Risk&maxResults=1000

你能试试吗?

 try {
        String url3 = URLEncoder.encode("jiraURL/rest/api/2/search?jql=project=GB AND issuetype=Product Risk&maxResults=1000", "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM