Custom Java Interceptors

Los interceptores personalizados Java permiten a los usuarios crear y ejecutar clases Java personalizadas contenidas en archivos .jar, siguiendo un modelo de desarrollo específico.

Para crear interceptores Java, es necesario tener un archivo .jar en su máquina y cargarlo en el Manager. En esta página, explicamos cómo configurarlos en el Manager y ofrecemos ejemplos de archivos .jar para ayudarle.

Creación de un proyecto para un interceptor Java

Para crear un interceptor personalizado en el Manager, primero debe cargar el archivo .jar de su proyecto en nuestra Plataforma.

Para que un archivo .jar se considere válido, debe tener estas características:

  • debe contener al menos una clase @ApiSuiteInterceptor;

  • debe contener al menos un método @InterceptorMethod;

  • por defecto, el tamaño máximo del archivo debe ser 1 MB;

  • no debe contener ningún otro .jar dentro del archivo;

  • debe implementarse con Java 8 o posterior y utilizando openJDK;

  • debe hacer uso de una dependencia específica (ver abajo).

Un error común es seleccionar carpetas como bin o target además de src para compilar el código fuente en el archivo .jar, lo que puede dar lugar a un error porque crea referencias no válidas a otros archivos. Sólo tiene que hacer referencia a la carpeta src.

Dependencia

Esta es la dependencia que necesita utilizar:

Si está utilizando una versión anterior del Manager, es posible que deba descargar este archivo de dependencia (no dude en ponerse en contacto con nuestro equipo de soporte si necesita ayuda):

Ejemplos

Vea a continuación algunos ejemplos de interceptores Java personalizados:

Puede acceder a esta página para ver un ejemplo más detallado de cómo crear y cargar un interceptor Java personalizado en la Plataforma API.

JavaDocs

Aquí puede obtener JavaDocs para ayudarle:

Registro de un nuevo interceptor en el Manager

Se crean nuevos interceptores en la página de menú Interceptors, a través del botón + en la esquina inferior derecha.

custom create

Para crear un interceptor Java, hacer clic o colocar el cursor sobre el botón + y seleccionar la opción Create Custom Java.

custom java create

Para configurar el interceptor, es necesario rellenar algunos atributos, como se muestra en la imagen siguiente.

custom java new
  • Name: identifica el Interceptor Java que se creará;

  • Select JAR file: un botón utilizado para seleccionar el archivo .jar que se utilizará;

  • Abort request if fail: cuando se activa esta opción, el gateway no reenvía la petición al servidor en caso de error, sino que devuelve inmediatamente una respuesta de error al cliente.

Después de introducir los datos, hacer clic en Save. El sistema entonces realizará un análisis para validar el archivo cargado. Si es válido, el sistema lo guardará. De lo contrario, se mostrará el mensaje «Invalid JAR file» («Archivo JAR no válido»).

Lista de interceptores personalizados Java

Los interceptores Java existentes se mostrarán en tarjetas separadas por etiquetas. Los interceptores a los que no se han asignado ninguna etiqueta aparecerán en la agrupación Uncategorized y con una etiqueta que indique que son interceptores Java.

custom java list

Configuración del interceptor

Para utilizar el interceptor, arrástrelo al flujo deseado. Los interceptores personalizados pueden agregarse tanto al flujo de petición (request) como de respuesta (response).

Se abrirá una ventana modal que muestra el nombre del interceptor Java y una lista que contiene las clases y métodos que se pueden utilizar para interceptar las llamadas.

config java interceptor

Puede especificar los parámetros que se utilizarán dentro de los interceptores Java. Para ello, debe agregar las claves/valores e interpretar estos parámetros dentro del método que interceptará la llamada.

Si edita un interceptor personalizado, debe quitar todas las instancias de este interceptor que se habían insertado en los flujos de APIs antes de las modificaciones. Esto se debe a que los cambios realizados en un interceptor no se reflejarán en las instancias de interceptor añadidas a flujos de APIs.

Seguridad

Al recibir una petición, el sistema realiza un análisis de validación del código de archivo .jar en busca de funciones potencialmente maliciosas que de alguna manera pueden comprometer el interceptor. Si el sistema encuentra alguna posible infracción de seguridad, el interceptor no se ejecutará y se desencadenará una excepción de seguridad.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]