如何找到页面 <Entity> 的 content-length 作为 http header 传递?

How to find the content-length of Page <Entity> to be passed as the http header?

我正在使用 spring boot 和 Netflix Eureka。我需要找到页面的总长度以在 HTTP 响应 header 中设置 content-length。 我的控制器是这样的 ...

Page<exampleEntity> examplePage = null;
examplePage=exampleService.getFuntion(request, params);
HttpHeaders headers = new HttpHeaders();
headers.setContentLength(???);
return new ResponseEntity<>(Page, HttpHeaders ,HttpStatus.OK);

...

有人可以帮忙吗?

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out = null;
try {
  out = new ObjectOutputStream(bos);   
  out.writeObject(yourObject);
  out.flush();
  byte[] yourBytes = bos.toByteArray();
  
} finally {
  try {
    bos.close();
  } catch (IOException ex) {
    // ignore close exception
  }
}

那么yourBytes.length就是你所需要的