更多干货
- spring-boot系列一 之restfull api与多环境配置
- springboot系列二之 日志
- SpringBoot系列三之 MVC 模版引擎
- SpringBoot 2.0.0.M7 系列四 异常处理
- springboot 2.0.0.M7之 注解 与 配置
- springboot 2.0.0.M7 配置mvc
- springboot 2.0.0.M7 之 Servlet Listener Filter
- springboot 2.0.0.M7 之 跨域
- springboot 2.0.0.M7 之使用mysql
- spring boot 2.0.0.M7 之 数据库-事务处理
- springboot 2.0.0.M7 之 h2 嵌入式数据库的使用
- springboot 2.0.0.M7 之 数据库-redis
- Spring Boot 2.0.0.M7 中使用Swagger2构建RESTful API文档
- Spring Boot 2.0.0.M7 springBoot-mongodb使用
- Spring Boot 2.0.0.M7 使用 Caching-EhCache
- Spring Boot spring boot 使用 Caching-Redis
- Spring Boot 2.0.0.M7 使用异步消息服务-AMQP(RabbitMQ)
- Spring Boot 2.0.0.M7 调用REST服务-如何使用代理
- Spring Boot 2.0.0.M7 发送邮件-使用模板邮件并实现多账号轮询发送
- Spring Boot 2.0.0.M7 使用Spring Session实现集群-redis
- Spring Boot 2.0.0.M7 如何进行远程调试
- Spring Boot 生产准备-基于HTTP的监控
- Spring Boot 集成 Druid
- springboot思维导图
调用REST服务
- 调用REST服务
- 使用代理调用rest服务
添加依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
@Autowired
private RestTemplateBuilder restTemplateBuilder;
/**
* get请求
*/
@Test
public void getForObject() {
ViewerResult bean = restTemplateBuilder.build().getForObject("http://localhost:8081/api/blog/category/findAll", ViewerResult.class);
System.out.println(bean);
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", 2);
ViewerResult bean = restTemplateBuilder.build().postForObject("http://localhost:8081/api/blog/category/findAll", map, ViewerResult.class);
System.out.println(bean);
String result = restTemplateBuilder.additionalCustomizers(new ProxyCustomizer()).build().getForObject("http://111.231.142.109", String.class);
System.out.println(result);
}
static class ProxyCustomizer implements RestTemplateCustomizer {
@Override
public void customize(RestTemplate restTemplate) {
String proxyHost = "43.255.104.179";
int proxyPort = 8080;
HttpHost proxy = new HttpHost(proxyHost, proxyPort);
HttpClient httpClient = HttpClientBuilder.create().setRoutePlanner(new DefaultProxyRoutePlanner(proxy) {
@Override
public HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context)
throws HttpException {
System.out.println(target.getHostName());
return super.determineProxy(target, request, context);
}
}).build();
HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(
httpClient);
httpComponentsClientHttpRequestFactory.setConnectTimeout(10000);
httpComponentsClientHttpRequestFactory.setReadTimeout(60000);
restTemplate.setRequestFactory(httpComponentsClientHttpRequestFactory);
}
}
本文档详尽介绍了Spring Boot 2.0版本的各项功能,包括RESTful API的构建、多环境配置、异常处理、数据库操作等核心知识点,并演示了如何通过Spring Boot集成多种服务与工具。
114

被折叠的 条评论
为什么被折叠?



