Utilización de OpenAPI

Puede generar un cliente desde un archivo OpenAPI creado para un conjunto de reglas de servicio de decisiones.

Antes de empezar

La aplicación cliente debe pasar las credenciales de autenticación para el portal de nube.

Importante:

Puede utilizar Swagger Editor u otras herramientas Swagger de código abierto El enlace externo abre una nueva ventana o pestaña para generar un cliente en tu lenguaje preferido, por ejemplo: C®#, Go, Apache Groovy, JavaScript, PHP, Python, Ruby, Scala, Swift, o TypeScript.

Acerca de esta tarea

Para llamar a un conjunto de reglas de servicio de decisiones desde una aplicación cliente, cree clases de proxy a partir de un archivo OpenAPI generado para una vía de acceso de conjunto de reglas.

Procedimiento

  1. Obtenga un archivo OpenAPI para un conjunto de reglas de servicio de decisiones.
  2. Genere clases proxy desde el archivo OpenAPI.
  3. Utilice las clases proxy para invocar el conjunto de reglas desde la aplicación cliente.

Ejemplo

Para obtener el archivo OpenAPI de Rule Execution Server:
  1. Despliegue el conjunto de reglas de servicio de decisiones en Servidor de ejecución de reglas.
  2. En la consola de Servidor de ejecución de reglas , vaya a la pestaña Explorador .
  3. En el panel Navegador, pulse una RuleApp y a continuación pulse un conjunto de reglas correspondiente al servicio de decisiones.
  4. En la Vista de conjunto de reglas, pulse Recuperar archivo de descripción HTDS.
  5. Seleccione REST como tipo de protocolo de servicio.
  6. Seleccione OpenAPI – YAML o OpenAPI – JSON como formato para generar un archivo OpenAPI en formato YAML o JSON.
  7. Seleccione Versión más reciente del conjunto de reglas y Versión más reciente de RuleApp para generar el archivo OpenAPI para las versiones más recientes.
  8. Pulse Descargar.
Para generar las clases proxy en Swagger Editor:
  1. Abra http://editor.swagger.io/ El enlace externo abre una nueva ventana o pestaña en un navegador web.
  2. Haz clic en Archivo > Importar archivo.
  3. Pulse Examinar para seleccionar el archivo OpenAPI y luego pulse Abrir.
  4. Haga clic en Importar.
  5. Haga clic en Generar cliente > Java.
El siguiente ejemplo de código Java™ importa las clases de proxy generadas en el editor Swagger para un conjunto de reglas y llama al conjunto de reglas desde una aplicación Java:
import java.util.List;

import io.swagger.client.ApiClient;
import io.swagger.client.ApiException;
import io.swagger.client.model.Borrower;
import io.swagger.client.model.Loan;
import io.swagger.client.model.Request;
import io.swagger.client.model.Response;

public class DecisionServiceExecution {

	public static void main(String[] args) {
		
		ApiClient apiClient = new ApiClient();
		
		// Replace "loginID" with the ID of a user who has access to the Cloud portal
		apiClient.setUsername("loginID");
		
		// Replace "password" with the password of a user who has access to the Cloud portal
		apiClient.setPassword("password");
		
		DefaultApi api = new DefaultApi(apiClient);
		
		// Create the request
		Request request = new Request();
		
		// Set the borrower
		Borrower borrower = new Borrower();
		borrower.setName("John");
		borrower.setCreditScore(600);
		borrower.setYearlyIncome(80000);
		request.setBorrower(borrower);

		// Set the loan
		Loan loan = new Loan();
		loan.setAmount(500000);
		loan.setDuration(240);
		loan.setYearlyInterestRate(0.05);
		// approved (set to true by default, to be computed by the decision engine)
		loan.setApproved(true);
		request.setLoan(loan);
		
		// Retrieve the response
		try {
			Response response = api.callDecisionOperation(request);
			System.out.println("Rules executed.");
			System.out.println("Approved: " + response.getLoan().getApproved());
			System.out.println("Yearly interest rate: " + response.getLoan().getYearlyInterestRate());
			System.out.println("Yearly repayment: " + response.getLoan().getYearlyRepayment());
			List<String> messages = response.getLoan().getMessages();
			if (messages != null) {
				System.out.println("Messages: ");
				for (String message : messages) {
					System.out.println(message);
				}
			}
		} catch (ApiException e) {
			throw new RuntimeException("An error occurred when invoking Decision Service", e);		
		}
	}
	
}