Utilización de contenido multipart/form-data en solicitudes y respuestas de aplicaciones de JAX-RS

Un tipo de contenido utilizado frecuentemente para enviar archivos a través de un formulario HTML es multipart/form-data. La implementación de IBM® JAX-RS (Java™ API for RESTful Web Services) simplifica en gran manera el proceso de esos datos dividiendo automáticamente las partes y decodificándolos automáticamente. Si no desea este procesamiento automático, el recurso puede recibir las partes en un objeto, de forma que el procesamiento de las partes está completamente bajo el control del método de recursos.

Acerca de esta tarea

Esta tarea muestra cómo desarrollar un recurso JAX-RS que se beneficia de las características de implementación IBM JAX-RS que dividen y decodifican automáticamente las partes de un envío de formulario HTTP en varias partes/de datos de formulario. El uso de estas características permite a un método de recursos JAX-RS recibir un objeto File, liberándole de la tarea de procesar la carga útil de las partes sin procesar. También puede ver cómo recibir los datos en bruto para que, si lo desea, el método de recursos JAX-RS retenga el control completo del proceso de la parte de datos en bruto.

Procedimiento

  1. Configure el entorno de desarrollo.
    1. Antes de comenzar a desarrollar aplicaciones de JAX-RS, debe configurar su entorno de desarrollo añadiendo las bibliotecas JAX-RS en la vía de acceso de clases.
  2. Defina los recursos en aplicaciones web JAX-RS.
    1. Los recursos son el bloque de compilación básico de creación de un servicio RESTful. Los recursos pueden contener datos actualizados de forma estática o dinámica. Ejemplos de recursos de una aplicación de almacén de libros en línea incluyen un libro, un pedido en una tienda y una colección de usuarios. Identificando los recursos en la aplicación, puede hacer que el servicio resulte más útil y más fácil de desarrollar.
  3. Configure la aplicación JAX-RS.

    Puede configurar aplicaciones JAX-RS de varias maneras en función de sus necesidades. Para sacar partido de la funcionalidad de Java Platform, Enterprise Edition (Java EE) 6, puede utilizar las prestaciones de exploración de anotaciones. Mediante la utilización de la exploración de anotación, puede omitir una subclase javax.ws.rs.core.Application de JAX-RS o tener una subclase javax.ws.rs.core.Application mínimamente definida. Como alternativa, puede especificar el servlet o filtro IBM JAX-RS si desea utilizar la funcionalidad disponible en el servlet o filtro IBM JAX-RS.

    Si utiliza uno de los métodos de configuración de JAX-RS Versión 1.1, puede omitir una subclase javax.ws.rs.core.Application en la aplicación o disponer de una subclase javax.ws.rs.core.Application que devuelva un conjunto vacío de clases para informar al entorno de ejecución JAX-RS para que busque y utilice todas las clases JAX-RS de la aplicación. Es recomendable utilizar este método si no desea tener que añadir manualmente cada clase JAX-RS relevante a una subclase javax.ws.rs.core.Application mientras desarrolla la aplicación.

    Al especificar el servlet y filtro IBM JAX-RS específicos, puede sacar partido y asegurarse del comportamiento específico de IBM JAX-RS. Por ejemplo, el uso del filtro IBM JAX-RS puede ser útil para el desarrollo de una aplicación web con una mezcla de recursos JAX-RS y archivos JSP (JavaServer Pages) con los mismos patrones de URL.

    Aunque existe un método de configuración de JAX-RS V1.1 que soporta el uso de un archivo web.xml opcional, si desea especificar roles o restricciones de seguridad o desea aprovechar otras características habilitadas utilizando un archivo web.xml, debe especificar la información en un archivo web.xml.

    Elija uno de los tres métodos siguientes para configurar la aplicación JAX-RS:

    • Configurar las aplicaciones JAX-RS con métodos de JAX-RS 1.1

      Utilice este método si desea utilizar las prestaciones de exploración de anotaciones o utilizar los métodos de configuración de JAX-RS 1.1. Puede utilizar las prestaciones de exploración de anotaciones para promover la portabilidad de las aplicaciones, minimizar la cantidad de código de configuración o modificar dinámicamente la aplicación sin cambios en el código de aplicación.

    • Configure el archivo web.xml para los servlets de JAX-RS

      Utilice este método si desea especificar características que se habilitan utilizando parámetros de inicialización de servlet para cambiar el comportamiento y asegurarse de obtener el servlet IBM JAX-RS. Cuando se utilizan servlets, puede definir una vía de acceso del servlet en el archivo web.xml que se añadirá al URL base.

    • Configure el archivo web.xml para los filtros de JAX-RS

      Utilice este método si desea utilizar el filtro cuando tiene los JSP, otros servlets y filtros y recursos JAX-RS con una combinación de patrones de URL. Puede configurar el archivo web.xml para definir filtros que indiquen los URL posibles en los que se puede invocar el filtro.

  4. Implemente un método de recursos para recibir partes multipart/form-data de un envío de formulario HTML.
    1. Los servicios RESTful pueden recibir contenido de un envío de formulario HTML.
  5. Ensamble las aplicaciones web JAX-RS.
    1. Después de desarrollar los archivos de clase Java para la aplicación web de JAX-RS y tras editar el archivo web.xml para habilitar el servlet de JAX-RS, ya estará listo para ensamblar la aplicación. Ensamble la aplicación web en un paquete WAR (archivador web). Puede ensamblar el paquete WAR en un paquete archivador empresarial (EAR), si fuera preciso.
  6. Despliegue las aplicaciones web JAX-RS.
    1. Tras ensamblar la aplicación web de JAX-RS, tendrá que desplegar el paquete archivador web (WAR) o el paquete archivador empresarial (EAR) en el servidor de aplicaciones.

Resultados

Ha desarrollado y desplegado una aplicación web JAX-RS en el servidor de aplicaciones que procesa contenido multipart/form-data para solicitudes y respuestas.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_multipart_formdata
File name: twbs_jaxrs_multipart_formdata.html