首页 > 解决方案 > 如何修复 URIBuilder getRequest 参数转义

问题描述

在我的代码中,我想在 SugarCRM REST API V10 上启动 GET 请求,对于过滤器,我必须在请求中添加一些参数

应该是什么:

https://domain/rest/v10/Accounts?filter=[{"system_uuid_c":"f937456c-fdac-4d90-b1ca-ba31d4eb2922"}]

结果是什么:

https://domain/rest/v10/Accounts?filter%3D=%5B%7B%22system_uuid_c%22%3A%22f937456c-fdac-4d90-b1ca-ba31d4eb2922%22%7D%5D

我的代码:

    filter = filter.concat("[{");
    filter = filter.concat("\"system_uuid_c");
    filter = filter.concat("\":");
    filter = filter.concat("\"");
    filter = filter.concat(system_uuid);
    filter = filter.concat("\"}]");

    URIBuilder builder = new URIBuilder(HOST + PATH);
            builder.addParameter("filter", filter);
            HttpGet httpGet = new HttpGet(builder.build());

对过滤器"很重要。

标签: javaapache-httpclient-4.x

解决方案


该网址有效。当 objectMapper 尝试将结果字符串转换为对象时出现错误。所以一切都很好:)

谢谢您的帮助。


推荐阅读