问题描述
我当前正在向客户端发送资源,我使用已经完成的代码,并且正在修改它,该代码下面显示了我不理解的一行。好吧,我知道我正在发送或发布资源,我知道此方法采用客户端的url,例如在这种情况下采用POST的HTTP请求类型,但我并不理解为什么此方法采用nService.getStringhttpentityWithPayload( payLoad)和Resource.class?同样,它返回的响应实体是仅类还是具有状态和标头的类?
ResponseEntity<Resource> responseEntity = restTemplate.exchange(
eURL,HttpMethod.POST,nService.getStringhttpentityWithPayload(payLoad),Resource.class);
解决方法
为什么此方法需要nService.getStringHttpEntityWithPayload(payLoad)和Resource.class?
方法getStringHttpEntityWithPayload
返回的HttpEntity
由正文和要发送到URL的标头数据组成。该方法是通过添加内容类型标头来创建请求消息,让接收服务知道主体包含JSON数据。
参数Resource.class
用于确定将响应主体从服务反序列化到哪个类。它定义了返回值的通用类型:ResponseEntity<Resource>
。
它返回的响应实体是仅类还是具有状态和标头的类?
我不确定“仅课堂”的意思。 ResponseEntity
与HttpEntity
(实际上是class ResponseEntity<T> extends HttpEntity<T>
)相似。 ResponseEntity
类包含响应正文和标头以及响应的HTTP状态代码。