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
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
- Rufen Sie eine OpenAPI-Datei für einen Entscheidungsserviceregelsatz ab.
- Generieren Sie Proxy-Klassen aus der OpenAPI-Datei.
- 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:
- Implementieren Sie den Regelsatz des Entscheidungsservice in Rule Execution Server.
- Wechseln Sie in der Rule Execution Server -Konsole zur Registerkarte Explorer .
- Klicken Sie im Teilfenster Navigator auf eine RuleApp und anschließend auf einen Regelsatz für Ihren Entscheidungsservice.
- Klicken Sie in der Regelsatzansicht auf HTDS-Beschreibungsdatei abrufen.
- Wählen Sie REST als Serviceprotokolltyp aus.
- Wählen Sie OpenAPI – YAML oder OpenAPI – JSON aus, um eine OpenAPI-Datei im YAML- oder JSON-Format zu generieren.
- Wählen Sie Aktuellste Regelsatzversion und Aktuellste RuleApp-Version aus, um die OpenAPI-Datei für die neuesten Versionen zu generieren.
- Klicken Sie auf Herunterladen.
Gehen Sie wie folgt vor, um die Proxyklassen im Swagger Editor zu generieren:
- Öffnen Sie http://editor.swagger.io/
in einem Webbrowser. - Klicken Sie auf .
- Klicken Sie auf Browse, um die OpenAPI-Datei auszuwählen. Klicken Sie dann auf Open.
- Klicken Sie auf Importieren.
- Klicken Sie auf .
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);
}
}
}