Ein- und Ausgabe von Binärströmen mit JERSEY?

Ich verwende Jersey, um eine RESTful-API zu implementieren, die hauptsächlich JSON-codierte Daten abruft und bereitstellt. In einigen Situationen muss ich jedoch Folgendes ausführen:

Exportieren Sie herunterladbare Dokumente wie PDF, XLS, ZIP oder andere Binärdateien.Lesen Sie mehrteilige Daten, z. B. JSON und eine hochgeladene XLS-Datei.

Ich habe einen einseitigen JQuery-basierten Web-Client, der AJAX-Aufrufe für diesen Web-Service erstellt. Derzeit werden keine Übermittlungen erstellt und GET und POST (mit einem JSON-Objekt) verwendet. Soll ich ein Formular verwenden, um Daten und eine angehängte Binärdatei zu senden, oder kann ich eine mehrteilige Anfrage mit JSON plus Binärdatei erstellen?

ie Serviceschicht der @My-Anwendung erstellt derzeit einen ByteArrayOutputStream, wenn eine PDF-Datei generiert wird. Wie kann dieser Stream am besten über Jersey an den Client ausgegeben werden? Ich habe einen MessageBodyWriter erstellt, kann ihn jedoch nicht aus einer Jersey-Ressource verwenden. Ist das der richtige Ansatz?

Ich habe die mit Jersey gelieferten Beispiele durchgesehen, aber noch nichts gefunden, was zeigt, wie man eines dieser Dinge macht. Wenn es darauf ankommt, verwende ich Jersey mit Jackson, um Object-> JSON ohne den XML-Schritt auszuführen, und verwende JAX-RS nicht wirklich.

Antworten auf die Frage(20)

Ihre Antwort auf die Frage