@Bean
public RestTemplate getRestClient() {
RestTemplate restClient = new RestTemplate();
...
return restClient;
}
Spring参考提到RestTemplateBuilder
应该通过RestTemplateCustomizer
进行定制。如何用一个构建器管理来自多个IP地址的多个URI?
如何通过RestTemplateBuilder
向所有RestTemplates
全局添加BasicAuthentication
,这是一个好的实践吗?
多谢帮忙。
我考虑为每个服务器设置一个RestTemplateBuilder
。我不想手动执行此操作--我更喜欢使用Spring机制。
有人帮忙吗?
>
不,您不需要这样做,通常您将拥有on rest模板实例,并且您将每次传递不同的url,并相应地请求参数。
String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class, vars);
Foo foo = restTemplate.getForObject(fooResourceUrl + "/1", Foo.class);
一个来自spring doc的描述性示例,您可以向构建器添加尽可能多的自定义器
public class ProxyCustomizer implements RestTemplateCustomizer {
@Override
public void customize(RestTemplate restTemplate) {
HttpHost proxy = new HttpHost("proxy.example.com");
HttpClient httpClient = HttpClientBuilder.create()
.setRoutePlanner(new DefaultProxyRoutePlanner(proxy) {
@Override
public HttpHost determineProxy(HttpHost target,
HttpRequest request, HttpContext context)
throws HttpException {
if (target.getHostName().equals("192.168.0.5")) {
return null;
}
return super.determineProxy(target, request, context);
}
}).build();
restTemplate.setRequestFactory(
new HttpComponentsClientHttpRequestFactory(httpClient));
}
}
任何RestTemplateCustomizer bean都将自动添加到自动配置的RestTemplateBuilder中。此外,可以通过调用additionalCustomizers(RestTemplateCustomizer…)来创建具有额外自定义器的新RestTemplateBuilder
@Bean
public RestTemplateBuilder restTemplateBuilder() {
return new RestTemplateBuilder()
.rootUri(rootUri)
.basicAuthorization(username, password);
}
我实现了一个模块来使用rest webservice(Json)并在oracle数据库中持久化。我只在Spring IOC上工作,但可以使用Spring BootRest模板和Spring数据JPA快速开发它。班级数量非常少。 对于json到java对象的转换,我使用http://www.jsonschema2pojo.org/并将所有生成的java对象复制到我的项目中。现在,我想包括logic/
我试图理解restTemplate上可用的readTimeout,它到底是什么? 它是请求在我们得到超时异常之前可以花费的总时间吗?
如何使用RestTemplate在具有以下行为的服务器中执行post请求:
我有一个方法,调用一个endpoint来发布客户我怎么才能只得到消息"EMAIL ALREADY EXISTS"从响应体的Rest模板,以便在FacesContext中显示它 这是回应机构
我使用spring rest模板作为请求发送json数组。发送请求的源代码如下: 并接受请求: 问题是它给了我以下错误:无法写入请求:找不到适合请求类型[org.json.JSONArray]的HttpMessageConverter。任何建议都是可以接受的。
我有一项服务,我需要通过rest向外部服务器询问一些信息: 如何为getListofObjectsA()编写JUnit测试? 我尝试了以下方法: 然而,上面的代码不起作用,它表明为。如何更正测试以正确模拟restTemplate。交换?