J'utilise Jersey pour implémenter une API RESTful qui récupère et sert principalement des données encodées en JSON. Mais dans certaines situations, j'ai besoin d'accomplir ce qui suit :
- Exportez des documents téléchargeables, tels que des fichiers PDF, XLS, ZIP ou autres fichiers binaires.
- Récupérer des données en plusieurs parties, telles que JSON et un fichier XLS téléchargé.
J'ai un client web à une seule page basé sur JQuery qui crée des appels AJAX vers ce service web. Pour l'instant, il ne fait pas de soumission de formulaire et utilise GET et POST (avec un objet JSON). Dois-je utiliser un formulaire post pour envoyer des données et un fichier binaire joint, ou puis-je créer une requête multipart avec JSON et fichier binaire ?
La couche de service de mon application crée actuellement un ByteArrayOutputStream lorsqu'elle génère un fichier PDF. Quelle est la meilleure façon de transmettre ce flux au client via Jersey ? J'ai créé un MessageBodyWriter, mais je ne sais pas comment l'utiliser à partir d'une ressource Jersey. Est-ce la bonne approche ?
J'ai parcouru les échantillons inclus dans Jersey, mais je n'ai encore rien trouvé qui illustre comment faire l'une ou l'autre de ces choses. Si cela est important, j'utilise Jersey avec Jackson pour faire Object->JSON sans l'étape XML et je n'utilise pas vraiment JAX-RS.