OpenAPI verwenden

Sie können aus einer OpenAPI-Datei für einen Entscheidungsserviceregelsatz einen Client generieren.

Vorbereitende Schritte

Die Clientanwendung muss Authentifizierungsnachweise für das Cloudportal übergeben (siehe Serviceberechtigungsnachweise für Clientanwendung)..

Wichtig:

Sie können Swagger Editor oder andere Open-Source-Swagger-Tools verwenden Externer Link öffnet ein neues Fenster oder eine neue Registerkarte verwenden, um einen Client in der von Ihnen bevorzugten Sprache zu generieren, zum Beispiel: C®#, Go, Apache Groovy, JavaScript, PHP, Python, Ruby, Scala, Swift, oder TypeScript.

Informationen zu dieser Task

Wenn Sie einen Entscheidungsserviceregelsatz über eine Clientanwendung aufrufen möchten, erstellen Sie Proxy-Klassen aus der OpenAPI-Datei, die Sie für einen Regelsatzpfad generiert haben.

Prozedur

  1. Rufen Sie eine OpenAPI-Datei für einen Entscheidungsserviceregelsatz ab.
  2. Generieren Sie Proxy-Klassen aus der OpenAPI-Datei.
  3. Verwenden Sie die Proxy-Klassen, um den Regelsatz von Ihrer Clientanwendung aus aufzurufen.

Beispiel

Gehen Sie wie folgt vor, um die OpenAPI -Datei von Rule Execution Serverabzurufen:
  1. Implementieren Sie den Regelsatz des Entscheidungsservice in Rule Execution Server.
  2. Wechseln Sie in der Rule Execution Server -Konsole zur Registerkarte Explorer .
  3. Klicken Sie im Teilfenster Navigator auf eine RuleApp und anschließend auf einen Regelsatz für Ihren Entscheidungsservice.
  4. Klicken Sie in der Regelsatzansicht auf HTDS-Beschreibungsdatei abrufen.
  5. Wählen Sie REST als Serviceprotokolltyp aus.
  6. Wählen Sie OpenAPI – YAML oder OpenAPI – JSON aus, um eine OpenAPI-Datei im YAML- oder JSON-Format zu generieren.
  7. Wählen Sie Aktuellste Regelsatzversion und Aktuellste RuleApp-Version aus, um die OpenAPI-Datei für die neuesten Versionen zu generieren.
  8. Klicken Sie auf Herunterladen.
Gehen Sie wie folgt vor, um die Proxyklassen im Swagger Editor zu generieren:
  1. Öffnen Sie http://editor.swagger.io/ Externer Link öffnet ein neues Fenster oder eine neue Registerkarte in einem Webbrowser.
  2. Klicken Sie auf Datei > Datei importieren.
  3. Klicken Sie auf Browse, um die OpenAPI-Datei auszuwählen. Klicken Sie dann auf Open.
  4. Klicken Sie auf Importieren.
  5. Klicken Sie auf Client generieren > Java.
Das folgende Java™ -Codebeispiel importiert die im Swagger Editor generierten Proxy-Klassen für einen Regelsatz und ruft den Regelsatz aus einer Java-Anwendung auf:
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);		
		}
	}
	
}