从REST API返回ResponseEntity <byte []>时出现问题。为什么?

时间:2019-10-26 01:57:45

标签: java spring spring-mvc

当我从REST API返回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();

2 个答案:

答案 0 :(得分:0)

responseEntity.getBody()的数据类型为String(1)。

responseEntity的数据类型是二进制数据(2),包括Body和不是Body的其他部分(例如Header)。

(2)=(1)+(其他部分)

因此,(2)>(1)

答案 1 :(得分:0)

在第一种情况下,您仅发送正文(即重量较轻(即尺寸较小)的正文),因此数据传输速度很快

但是在第二个实例中,您要发送的数据很重(即大小较大),因此传输需要更多时间。