从REST API返回ResponseEntity<byte[]>时出现java问题。为什么?
当我从RESTAPI返回ResponseEntity<byte[]>(new ResponseEntity<byte[]>(sb.toString().getBytes(), headers, HttpStatus.OK))
时,大约需要6秒,但当我返回responseEntity.getBody()
时,大约需要1秒。怎么做
ResponseEntity<byte[]> responseEntity = configTemplateService.getConfigTemplateExample(type);
// This need very long time
return responseEntity;
ResponseEntity<byte[]> responseEntity = configTemplateService.getConfigTemplateExample(type);
// This need less time
return responseEntity.getBody();
# 1 楼答案
在第一种情况下,你只发送身体,这是轻(即有较小的大小),所以数据传输速度很快
但在第二个实例中,您发送的数据很重(即大小更大),因此传输需要更多时间
# 2 楼答案
responseEntity.getBody()
的数据类型为String
(1)responseEntity
的数据类型是二进制数据(2),包括Body
和其他非Body
的部分(例如Header
)(2)=(1)+(其他部分)
因此,(2)>;(1)