Implémentation des ressources en utilisant des messages à plusieurs parties
Un message à plusieurs parties contient un ou plusieurs messages dans sa structure. Chaque partie de message peut avoir son propre type de contenu. En utilisant IBM® Java™ API for RESTful Web Services (JAX-RS), vous pouvez produire et consommer des messages à plusieurs parties.
Pourquoi et quand exécuter cette tâche
IBM JAX-RS fournit des classes Apache Wink pour modéliser une demande à plusieurs parties et une réponse à plusieurs parties. En outre, IBM JAX-RS contient des fournisseurs d'entité, par défaut, qui prennent en charge les messages à plusieurs parties. Ces fournisseurs d'entités peuvent sérialiser et désérialiser les instances de classe à plusieurs parties lorsque le type de contenu du message est compatible avec multipart/*.
Pour traiter les messages à plusieurs parties en utilisant des API Apache Wink, vous devez utiliser des classes définies pour représenter l'entité de corps de message à plusieurs parties.
org.apache.wink.common.model.multipart.InMultiPart
org.apache.wink.common.model.multipart.BufferedInMultiPart
Utilisez l'un des types de classes de demandes à plusieurs parties comme paramètre de méthode dans la méthode de ressource. La classe InMultiPart envoie le message de demande en continu alors que la classe BufferedInMultiPart stocke l'ensemble du message en mémoire. L'envoie en continu du message consomme moins de mémoire, mais les parties du message sont accessibles uniquement une seule fois de manière itérative. En revanche, en utilisant la mise en mémoire tampon, vous pouvez lire n'importe quelle partie du message à tout moment.
org.apache.wink.common.model.multipart.OutMultiPart
org.apache.wink.common.model.multipart.BufferedOutMultiPart
Vous pouvez retourner une instance de l'un des types de réponses à plusieurs parties sortants dans la méthode de ressource. La classe OutMultiPart envoie en continu la réponse à plusieurs parties, alors que la classe BufferedOutMultiPart stocke l'ensemble du message en mémoire.
Ces classes entrantes et sortantes à plusieurs parties utilisent des fournisseurs d'entité JAX-RS pour sérialiser et désérialiser les parties individuelles du message à plusieurs parties.
Pour plus d'informations sur les classes de messages à plusieurs parties, voir la documentation de l'API Apache Wink.
Procédure
Résultats
Vous pouvez recevoir et envoyer des messages à plusieurs parties contenant plusieurs types de contenus.