Używam Jersey do zaimplementowania interfejsu API RESTful, który jest głównie pobierany i obsługujący dane zakodowane w formacie JSON. Ale są sytuacje, w których muszę wykonać następujące czynności:
- Eksportuj dokumenty do pobrania, takie jak PDF, XLS, ZIP lub inne pliki binarne.
- Pobierz dane wieloczęściowe, takie jak niektóre JSON oraz przesłany plik XLS
Mam jednostronicowego klienta sieci Web opartego na JQuery, który tworzy wywołania AJAX do tej usługi sieci Web. W tej chwili nie przesyła formularzy i używa GET i POST (z obiektem JSON). Czy powinienem użyć postu formularza do wysłania danych i załączonego pliku binarnego, czy mogę utworzyć żądanie wieloczęściowe z plikiem JSON plus binarnym?
Warstwa usług mojej aplikacji obecnie tworzy ByteArrayOutputStream podczas generowania pliku PDF. Jaki jest najlepszy sposób przesłania tego strumienia do klienta za pośrednictwem Jersey? Utworzyłem MessageBodyWriter, ale nie wiem, jak go używać z zasobu Jersey. Czy to właściwe podejście?
Przeglądałem próbki dołączone do Jersey, ale nie znalazłem jeszcze niczego, co ilustruje, jak zrobić jedną z tych rzeczy. Jeśli to ma znaczenie, używam Jersey z Jacksonem do wykonywania Object-> JSON bez kroku XML i tak naprawdę nie używam JAX-RS.
Response
obiektu. W ten sposób możesz łatwo kontrolować typ nośnika, kod odpowiedzi HTTP itp. Daj mi znać, jeśli chcesz, abym wysłał kod.