Generando un .jar a partir de un interceptor personalizado Java

El primer paso para crear un interceptor personalizado Java es crear un nuevo proyecto Java. Aquí crearemos un proyecto Maven. Dentro de él, vamos a configurar e instalar la dependencia interceptor-java-spec, que se puede descargar en esta página.

¿Puedo utilizar cualquier biblioteca externa?

No, pero puede usar cualquier lib entre las dependencias soportadas por el API gateway. Puede acceder a la lista de dependencias soportadas aquí.

pom.xml

Este es un ejemplo de pom.xml tomado de un de los repositorios con ejemplos de interceptores personalizados Java.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.sensedia</groupId>
	<artifactId>custom-java-example</artifactId>
	<version>1.0.0</version>
	<packaging>jar</packaging>

	<name>custom-java-example</name>
	<url>http://maven.apache.org</url>

	<properties>
		<java.version>1.8</java.version>
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<maven.compiler.target>${java.version}</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<interceptor-java-spec.version>3.0.1</interceptor-java-spec.version>
		<maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.sensedia</groupId>
			<artifactId>api-interceptor-java-spec</artifactId>
			<version>${interceptor-java-spec.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<version>${maven-install-plugin.version}</version>
				<configuration>
					<groupId>com.sensedia</groupId>
					<artifactId>api-interceptor-java-spec</artifactId>
					<version>${interceptor-java-spec.version}</version>
					<packaging>jar</packaging>
					<file>${basedir}/src/main/resources/api-interceptor-java-spec-${interceptor-java-spec.version}.jar</file>
					<generatePom>true</generatePom>
				</configuration>
				<executions>
					<execution>
						<id>install-jar-lib</id>
						<goals>
							<goal>install-file</goal>
						</goals>
						<phase>validate</phase>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<excludes>
					<exclude>**/*.jar</exclude>
				</excludes>
			</resource>
		</resources>
	</build>

	<developers>
		<developer>
			<name>Claudenir Freitas</name>
			<email>claudenir.machado@sensedia.com</email>
			<organization>Sensedia</organization>
			<organizationUrl>https://sensedia.com</organizationUrl>
		</developer>
	</developers>

</project>
La dependencia interceptor-java-spec debe estar dentro de la carpeta src/main/resources, y su versión debe ser informada en el archivo pom.xml con la tag <interceptor-java-spec.version>.

Instale la dependencia con el siguiente comando:

mvn validate

Custom Interceptor

Con el proyecto y las dependencias configuradas, los interceptores pueden ser codificados y compilados. Este es un ejemplo:

package com.sensedia.CustomJavaExample;

import com.sensedia.interceptor.externaljar.annotation.ApiSuiteInterceptor;
import com.sensedia.interceptor.externaljar.annotation.InterceptorMethod;
import com.sensedia.interceptor.externaljar.dto.ApiCallData;

@ApiSuiteInterceptor
public class Fluxo01 {

	@InterceptorMethod
	public void setHeaderRequest(ApiCallData apiCallData) {
		apiCallData.request.addHeader("exec01", "added to request");
	}

	@InterceptorMethod
	public void setHeaderResponse(ApiCallData apiCallData) {
		apiCallData.response.addHeader("exec02", "added to response");
	}

}

Una vez codificado el interceptor, podemos compilarlo, subirlo a la Plataforma API y luego empezar a usarlo en flujos de APIs.

Para compilar el interceptor en un archivo.jar, puede usar el siguiente comando:

mvn package

Después de ejecutar el comando, se generará un archivo.jar dentro de la carpeta /target. Entonces, será posible cargar el interceptor en la Plataforma y comenzar a usarlo.

custom java interceptor
Thanks for your feedback!
EDIT

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