Ressourcen mit mehrteiligen Nachrichten implementieren
Eine mehrteilige Nachricht enthält eine oder mehrere Nachrichten innerhalb ihrer Struktur. Jeder Nachrichtenteil kann seinen eigenen Inhaltstyp haben. Mit IBM® Java™ API for RESTful Web Services (JAX-RS) können sie mehrteilige Nachrichten erstellen und konsumieren.
Informationen zu diesem Vorgang
IBM JAX-RS stellt Klassen von Apache Wink bereit, mit denen eine mehrteilige Anforderung und eine mehrteilige Antwort modelliert werden kann. Darüber hinaus umfasst IBM JAX-RS standardmäßig Entitätsprovider, die mehrteilige Nachrichten unterstützen. Diese Entitätsprovider können mehrteilige Klasseninstanzen serialisieren und entserialisieren, wenn der Inhaltstyp der Nachricht mit multipart/* kompatibel ist.
Um mehrteilige Nachrichten mit Apache-Wink-APIs verarbeiten zu können, müssen Sie definierte Klassen zur Darstellung der mehrteiligen Nachrichtentextentität verwenden.
org.apache.wink.common.model.multipart.InMultiPart
org.apache.wink.common.model.multipart.BufferedInMultiPart
Verwenden Sie einen der Klassentypen für mehrteilige eingehende Anforderungen als Methodenparameter in Ihrer Ressourcenmethode. Die Klasse InMultiPart sendet die Anforderungsnachricht per Streaming, während die Klasse BufferedInMultiPart die gesamte Nachricht in den Speicher stellt. Das Streaming der Nachricht konsumiert weniger Speicher, doch Sie können nur einmal iterativ auf die Nachrichtenteile zugreifen. Im Gegensatz dazu können Sie, wenn Sie die Nachricht puffern, jeden Teil der Nachricht so oft anzeigen, wie Sie möchten.
org.apache.wink.common.model.multipart.OutMultiPart
org.apache.wink.common.model.multipart.BufferedOutMultiPart
Sie können eine Instanz eines der Typen der abgehenden mehrteiligen Nachrichten in Ihrer Ressourcenmethode zurückgeben. Die Klasse OutMultiPart sendet die mehrteilige Antwort per Streaming, während die Klasse BufferedOutMultiPart die gesamte Nachricht in den Speicher stellt.
Diese Klassen für mehrteilige ein- und abgehende Nachrichten verwenden JAX-RS-Entitätsprovider, um einzelne Teile der mehrteiligen Nachricht zu serialisieren und zu entserialisieren.
Weitere Informationen zu Klassen für mehrteilige Nachrichten finden Sie in der Dokumentation zur Apache-Wink-API.
Vorgehensweise
Ergebnisse
Sie können mehrteilige Nachrichten, die mehrere Inhaltstypen enthalten, empfangen und senden.