java – 使用RestTemplate,如何将请求发送到代理,以便我可以使用我的junits与JMeter?

我有一个web服务运行在我的开发箱使用Spring-MVC 3.0实现。我有各种JUnits,使用RestTemplate测试该服务。我想做的是让JMeter在运行它时选择这些JUnits REST请求。但是,为了做到这一点,我需要将Spring的RestTemplate发送给我运行JMeter的代理。那么问题是,我该怎么办?

我已经做了类似于CXF和他们的http:管道和http:客户端的东西,但我真的不知道如何使用Spring-MVC。

最佳答案
接受的答案适用于简单的用例,您希望所有请求都使用相同的代理。如果您通过restTemplate需要一些请求来使用代理,而其他请求则不能,那么您可能会发现这更有用。 (或者,如果你只是喜欢以编程方式做更多比你喜欢用系统属性笨蛋!)

@Bean
public RestTemplate restTemplate() {
    SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();

    Proxy proxy= new Proxy(Type.HTTP, new InetSocketAddress("my.host.com", 8080));
    requestFactory.setProxy(proxy);

    return new RestTemplate(requestFactory);
}

你应该能够以这种方式创建一个restTemplate bean的副本,另一个是正常的方法,所以你可以发送带有和不带有代理的请求。

转载注明原文:java – 使用RestTemplate,如何将请求发送到代理,以便我可以使用我的junits与JMeter? - 代码日志