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. |
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.
Para crear un interceptor Java, hacer clic o colocar el cursor sobre el botón + y seleccionar la opción Create Custom Java.
Para configurar el interceptor, es necesario rellenar algunos atributos, como se muestra en la imagen siguiente.
-
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.
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.
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.
Share your suggestions with us!
Click here and then [+ Submit idea]