Vraptor3 - Download de arquivos via json [resolvido]
5 respostas
G
garcia-jj
Estou desenvolvendo uma aplicação com vraptor que nada mais é que um rest webservices. Esses webservices serão utilizados por uma ferramenta em FX que ficará no cliente. Uma das funcionalidades é disponibilizar o download de arquivos de atualização.
Qual a melhor forma de fazer isso pelo vraptor usando json? Pensei em deixar o retorno json com um campo onde o conteúdo seria o arquivo em base64. Porém esses arquivos são um pouco grandes, em torno de 15M.
se vc tá usando rest, e um recurso é um binário (por exemplo um pdf) vc vai responder a requisição com um pdf mesmo, não com um json ou xml que contenha um pdf…
ou criar um result específico da sua aplicação que faz isso…
G
garcia-jj
Lucas, depois pensei bem e usei assim mesmo. O retorno do meu método ficou como Download.
Estou mais acostumado com soap, que você pode trafegar tudo no mesmo envelope.
Abraços, e obrigado
Lucas_Cavalcanti
verdade, tinha esquecido do Download
G
garcia-jj
Deixe-me espichar um pouco… os arquivos são armazenados via JPA no banco de dados. Estou usando byte[] nas entidades, que geram um bytea no banco. Porém os arquivos são grandes, será que posso usar Stream na entidade e passar isso direto para o vraptor?
Esse projeto é bem pequeno, e não tem EJB nem nada. O próprio vraptor que inicializa o entity-manager-factory. Mesmo assim estou preocupado com a performance em chamar um byte[] e depois tenho que converter para input-stream para usar no Download do vraptor.
Abraços
Lucas_Cavalcanti
acho que a jpa suporta InputStreams sim… no pior dos casos vc pode colocar o campo como Blob, ou coisas do tipo