有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从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();

共 (2) 个答案

  1. # 1 楼答案

    在第一种情况下,你只发送身体,这是轻(即有较小的大小),所以数据传输速度很快

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

  2. # 2 楼答案

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

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

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

    因此,(2)>;(1)