gpt4 book ai didi

java-8 - 在REST安全中,如何设置超时?

转载 作者:行者123 更新时间:2023-12-03 14:47:47 28 4
gpt4 key购买 nike

我正在使用RestAssured 2.8.0
我正在尝试设置自己的超时时间(用于网关超时),
因此,如果X毫秒后没有收到响应,我想中止。

我试过了:

public static ValidatableResponse postWithConnectionConfig(String url, String body, RequestSpecification requestSpecification, ResponseSpecification responseSpecification) {
ConnectionConfig.CloseIdleConnectionConfig closeIdleConnectionConfig = new ConnectionConfig.CloseIdleConnectionConfig(1L, TimeUnit.MILLISECONDS);
ConnectionConfig connectionConfig = new ConnectionConfig(closeIdleConnectionConfig);
RestAssuredConfig restAssuredConfig = new RestAssuredConfig().connectionConfig(connectionConfig);


return given().specification(requestSpecification)
.body(body)
.config(restAssuredConfig)
.post(url)
.then()
.specification(responseSpecification);

}


要么

ConnectionConfig connectionConfig = new ConnectionConfig()
.closeIdleConnectionsAfterEachResponseAfter(10L, TimeUnit.MILLISECONDS);
RestAssuredConfig restAssuredConfig = new RestAssuredConfig().connectionConfig(connectionConfig);


我也尝试添加

.queryParam("SO_TIMEOUT", 10)


要么

.queryParam("CONNECTION_MANAGER_TIMEOUT", 10)


似乎没有任何工作。
它不会终止我的查询

最佳答案

您可以通过设置HTTP客户端参数来配置超时:

RestAssuredConfig config = RestAssured.config()
.httpClient(HttpClientConfig.httpClientConfig()
.setParam(CoreConnectionPNames.CONNECTION_TIMEOUT, 1000)
.setParam(CoreConnectionPNames.SO_TIMEOUT, 1000));

given().config(config).post("http://localhost:8884");

关于java-8 - 在REST安全中,如何设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46889970/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com