RestTemplate
spring 提供了二种调用RETST端点的方法
RestTemplate
:带有同步模板方法 API 的原始 Spring REST 客户端。- WebClient:一种非阻塞、反应式的替代方案,支持同步和异步以及流场景
方法看源码吧。
官网:
1、官网上有个例子引起了兴趣
String uriTemplate = "https://example.com/hotels/{hotel}";
URI uri = UriComponentsBuilder.fromUriString(uriTemplate).build(42);
RequestEntity<Void> requestEntity = RequestEntity.get(uri)
.header("MyRequestHeader", "MyValue")
.build();
ResponseEntity<String> response = template.exchange(requestEntity, String.class);
String responseHeader = response.getHeaders().getFirst("MyResponseHeader");
String body = response.getBody();
与当前项目里面
HttpEntity<FolderAndAudience> requestEntity = new HttpEntity(folderAndAudience);
restTemplate.exchange(SEGMENTATION_SERVER + FTURLConstant.DELETE_AUDIENCE, HttpMethod.DELETE, requestEntity, Void.class);
2、getForObject 返回自己定义.Class对象,getForEntity返回ResponseEntity,包含状态码,body,header等等。
其中,RequestEntity && ResponseEntity继承了HttpEntity,RequestEntity支持build..避免了new 一个对象。