RestTemplate中exchange方法的作用是什么?

What is the purpose of the exchange method in the RestTemplate?

我目前正在向客户端发送资源,我正在使用已经完成的代码并正在修改它,这段代码中有一行我不明白。好吧,我知道我正在发送或发布资源,我知道这种方法采用客户端的 url,例如在这种情况下它采用 HTTP 请求的类型 POST,但我不明白为什么这个方法需要 nService.getStringHttpEntityWithPayload(payLoad) 和 Resource.class?此外,它返回的响应实体是仅 class 还是具有状态和 headers?

的 class
ResponseEntity<Resource> responseEntity = restTemplate.exchange(
                eURL,
                HttpMethod.POST,
                nService.getStringHttpEntityWithPayload(payLoad),
                Resource.class);

why this method takes nService.getStringHttpEntityWithPayload(payLoad) and Resource.class?

方法getStringHttpEntityWithPayload是return发送一个HttpEntity,它由body和header数据组成,要发送到URL.该方法通过添加内容类型 header 创建请求消息,让接收服务知道 body 包含 JSON 数据。

参数Resource.class用于确定class将来自服务的响应body反序列化成什么。它定义了 return 值的通用类型:ResponseEntity<Resource>.

Also the response entity it is returning will it be a class only or a class with a status and a headers?

我不确定您所说的“仅 class”是什么意思。 ResponseEntity 类似于 HttpEntity(实际上是 class ResponseEntity<T> extends HttpEntity<T>)。 ResponseEntity class 包含响应 body 和 header,以及响应的 HTTP 状态代码。