有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java进行多个rest客户端调用

我正在尝试使用org拨打多个客户电话。阿帕奇。眨眼客户将客户端恢复到具有基本身份验证的服务

第一次输入时,我的状态代码为200,但随后连接超时

每次我要进行新的看跌期权时,我都尝试重新创建客户机

这是我的密码:

for (int pos = 0; pos < jsonsToSend.size(); pos++) {
        BasicAuthSecurityHandler secHandler = new BasicAuthSecurityHandler();
        ClientConfig config = new ClientConfig();
        secHandler.setUserName(username);
        secHandler.setPassword(password);
        config.handlers(secHandler);

        RestClient client = new RestClient(config);
        Resource resource = client.resource(url);

        actualJson = JSONObject.parse(jsonsToSend.get(pos).toString());
        response = putJson(actualJson, resource);
    }

这是putJson方法:

private ClientResponse putJson(JSONObject jsonSend, Resource resource) throws Exception {
    try {
        ClientResponse response = resource.contentType("text/plain; charset=utf-8").accept("*/*").put(jsonSend.toString());
        return response;
    } catch (Exception e) {
        throw e;
    }
}

你知道如何拨打多个rest电话吗


共 (1) 个答案

  1. # 1 楼答案

    是的,你可以。我是这样做的: 服务层: ... //第一个 响应性>;firstResponse=firstClient。createEntity(requestPayload1)

    //第二个 响应性>;secondResponse=secondClient。createEntity(requestPayload2)

    两者都可以传递相同的requestPayload对象

    因此,您需要有两个客户机(如果您不想每次动态更改构建器)

    我想您已经知道如何创建客户机了。在我的例子中,我使用了restTemplate。getUriTemplateHandler()创建URI,然后向exchange请求Entity和ParameterizedTypeReference

    如果你没有做任何事务性的工作,我想按顺序打电话就可以了