2实现跨服务HTTP请求和响应

RestTemplate使用方法

请求过程

创建RestTemplate

方法介绍

指定消息转换器

设置拦截器

异常处理

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//注入RestTemplate
@Bean
public RestTemplate restTemplate() {
//注入RestTemplate
return new RestTemplate();
}

@Component
public class OutsourcingSystemClient {

@Autowired
RestTemplate restTemplate;

public List<CustomerStaff> getCustomerStaffs(OutsourcingSystem outsourcingSystem) {

//通过RestTemplate发起远程调用
ResponseEntity<Result> result = restTemplate.exchange(
outsourcingSystem.getSystemUrl(),
HttpMethod.GET,
null,
Result.class
);

List<CustomerStaff> customerStaffs = (List<CustomerStaff>)result.getBody().getData();

return customerStaffs;
}
}

WebClient使用方法

创建对象

设置url和请求参数

访问服务

url参数

exchange方法返回结果包含响应码等信息

请求体参数

普通参数对象使用syncbody方法
响应式流对象Mono对象使用body方法

拦截请求


管道过滤器模式

异常处理