Используя Spring Web MVC, я хотел бы использовать ResponseEntity для отправки байтов обратно клиенту.
Например, я мог бы сделать это:
@RequestMapping(value = "/getMyBytes", method = RequestMethod.GET)
public ResponseEntity< byte[] > handleGetMyBytesRequest()
{
// Get bytes from somewhere...
byte[] byteData = ....
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType( MediaType.IMAGE_PNG );
responseHeaders.setContentLength( byteData.length );
return new ResponseEntity< byte[] >( byteData,
responseHeaders, HttpStatus.OK );
}
Но теперь сам контроллер решает, как данные будут представлены клиенту. Разве это не должно быть делом зрения?
Итак, мой вопрос, когда у меня есть этот класс представления:
public class DemoView extends AbstractView
{
@Override
protected void renderMergedOutputModel( Map< String, Object > model,
HttpServletRequest request, HttpServletResponse response ) throws Exception
{
bytes[] byteData = model.get( "byteData" );
// ???
}
}
Как должен выглядеть код представления, когда я хочу использовать ResponseEntity там?
Или не имеет смысла использовать ResponseEntity в классе представления, и если да, то почему?
Большое спасибо за вашу помощь!