Fluxos binários de entrada e saída usando JERSEY?

Estou usando o Jersey para implementar uma API RESTful que recupera e atende principalmente dados codificados em JSON. Mas tenho algumas situações em que preciso realizar o seguinte:

Exporte documentos para download, como PDF, XLS, ZIP ou outros arquivos binários.Recupere dados de várias partes, como alguns JSON mais um arquivo XLS carregado

Eu tenho um cliente da Web baseado em JQuery de página única que cria chamadas AJAX para este serviço da web. No momento, ele não envia envios de formulários e usa GET e POST (com um objeto JSON). Devo utilizar uma postagem de formulário para enviar dados e um arquivo binário anexado ou posso criar uma solicitação de várias partes com o arquivo binário JSON plus?

Atualmente, a camada de serviço do meu aplicativo cria um ByteArrayOutputStream quando gera um arquivo PDF. Qual é a melhor maneira de enviar esse fluxo para o cliente via Jersey? Eu criei um MessageBodyWriter, mas não sei como usá-lo em um recurso de Jersey. Essa é a abordagem correta?

Estive pesquisando as amostras incluídas em Jersey, mas ainda não encontrei nada que ilustre como fazer uma dessas coisas. Se isso importa, estou usando Jersey com Jackson para executar Object-> JSON sem a etapa XML e não estou utilizando o JAX-RS.

questionAnswers(10)

yourAnswerToTheQuestion