Cómo implementar Java Business Services habilitados para REST
La siguiente figura muestra las clases en la implementación de ejemplo. Las clases que se muestran en azul son clases fuera del marco. Se colocan aquí para mostrar la relación estructural con el marco.
Archivo de configuración
El archivo de configuración "rest-services-config.xml" contiene el mapeo entre la representación del servicio REST y la acción Java correspondiente, de la siguiente manera:
Listado 1. Configuración del servicio REST
El siguiente es un fragmento de referencia:
?
?
?< handler id="RegAction" class=" ws.registration.restactions.GetProfile"/> ?
...?
? rest-config >>
En esta implementación de ejemplo, el archivo de configuración del marco configurado en el archivo "rl-config.xml" para la implementación del servicio de enlace XML es el siguiente. Se puede acceder a cualquier implementación personalizada implementada modificando este archivo, siempre que esté implementada la interfaz XMLBindingService. ?
Listado 2: Configuración del marco
El siguiente es un fragmento de referencia:
# ¿Servicio de implementación de enlace XML?
# Implementación predeterminada ?
ws.rest.xmlbinding.service.impl=ws.rest.xmlbinding.service.impl.XMLEncDecServiceImpl?
El archivo de configuración de registro "ws_log.properties" especifica las propiedades de log4j y ubicación de los archivos de registro. Esto se puede modificar adecuadamente según sea necesario.
Servlet controlador
RESTServiceServlet está configurado en web.xml para manejar todas las solicitudes con una ruta de contexto, donde la ruta de contexto de
Listado 3: Configuración de servlet
El siguiente es un fragmento de referencia:
< clase-servlet >ws.rest.servlet.RESTServiceServlet? ?
Acción REST
Para cada recurso REST, como GetUserProfile, creará una clase de acción correspondiente que implementa ActionInterface. Esta interfaz define el método "doExecute(ActionContext ctx)" que la clase de acción necesita implementar. ActionContext proporciona servicios, obtiene entradas de ruta REST o parámetros de consulta, obtiene instancias de XMLBindingService y envía resultados XML al cliente, sin exponer los detalles del protocolo de la Acción. PathInputs es un objeto de lista que contiene valores de ruta en el mismo orden en que se especifican en la URL.
Listado 4: Fragmento de código de acción
El siguiente es un fragmento de referencia:
la clase pública GetProfile implementa ActionInterface {? public void doExecute(ActionContext context) lanza una excepción. {?
// ¿Obtener el valor de la ruta URL?
String userName = context.getPathInputs().get(0);?
// Invocar ¿Servicio backend para recuperar el perfil de usuario?
UserProfileBean bean = getUser(userName);?
// Serializar el bean usando servicio framework y enviar respuesta?
String xml = context.getXMLBindingService().serialize(bean);?
// Usar ActionContext para generar XML y ?
context.sendResponse(response, xml);?
}?
La clase de acción es responsable de generar resultados en formato XML utilizando XMLBindingService en la superclase. Consulte la implementación de muestra de la clase ws.registration.restactions.GetProfile. ActionContext también puede proporcionar objetos HttpServletRequest y HttpServletResponse específicos del protocolo en caso de que se requiera un manejo personalizado. También proporciona valores de ruta y parámetros de URL.
Enlace XML
Este código de ejemplo proporciona una implementación de enlace XML de Java utilizando las clases java.beans.XMLEncoder y java.beans.XMLDecoder. La implementación del servicio XML Binding acepta un objeto JavaBean y lo convierte en la representación XML correspondiente del codificador y decodificador anteriores. Si necesita una implementación JAXB, puede desarrollar una clase de implementación que implemente la interfaz ws.rest.xmlbinding.service.XMLBindingService.
Ejecutar el servicio de muestra
La distribución del código de muestra contiene el archivo WAR de muestra "RESTWS.war", que se puede implementar en un contenedor Tomcat (probado en Apache Tomcat versión 6.0.20). ). El requisito de JDK es JDK 1.5 o superior.
Después de implementar correctamente la aplicación, ingrese la URL en el navegador:
Figura 5. Entrada del servicio Crear perfil
Esta página llama al servicio REST
POST
Puede modificar el valor XML especificado en la etiqueta
Nota: tenga en cuenta que la estructura XML se basa en objetos JavaBean y la tecnología de serialización XML utilizada por Java.
Cuando se envía, la clase de acción muestra un mensaje de éxito, indicando la llamada al servicio backend. Puede ver el archivo ws_log.log para ver mensajes de depuración.
Figura 6. Crear salida del servicio de perfiles
De manera similar, implemente el servicio de ejemplo GET
Reimpreso solo como referencia, los derechos de autor pertenecen al autor original. Te deseo una vida feliz, acéptala si estás satisfecho