Utiliser OpenAPI
Vous pouvez générer un client à partir d'un fichier OpenAPI conçu pour
un ensemble de règles de service de décision.
Avant de commencer
L'application client doit transmettre les données d'identification d'authentification pour le portail cloud.
Important :
Vous pouvez utiliser Swagger Editor ou d'autres outils Swagger open source
pour générer un client dans votre langage préféré, par exemple : C®#, Go, Apache Groovy, JavaScript, PHP, Python, Ruby, Scala, Swift, ou TypeScript.
A propos de cette tâche
Pour appeler un ensemble de règles de service de décision depuis une application client, vous créez des classes proxy à partir d'un fichier OpenAPI généré pour un chemin d'ensemble de règle.
Procédure
- Obtenez le fichier OpenAPI d'un ensemble de règles de service de décision.
- Générez les classes proxy à partir du fichier OpenAPI.
- Appelez l'ensemble de règles dans votre application client à l'aide des classes proxy.
Exemple
Pour obtenir le fichier OpenAPI à partir de Rule Execution Server:
- Déployez le jeu de règles du service de décision sur Rule Execution Server.
- Dans la console Rule Execution Server , accédez à l'onglet Explorateur .
- Dans le volet Navigateur, cliquez sur une RuleApp, puis sur un ensemble de règles de votre service de décision.
- Dans la Vue Ensemble de règles, cliquez sur Obtenir le fichier de description HTDS.
- Sélectionnez REST comme type de protocole du service.
- Sélectionnez OpenAPI – YAML ou OpenAPI – JSON comme format de génération d'un fichier OpenAPI dans YAML ou JSON.
- Cochez Dernière version de l'ensemble de règles et Dernière version de la RuleApp pour générer le fichier OpenAPI des versions les plus récentes.
- Cliquez sur Télécharger.
Pour générer les classes proxy dans Swagger Editor :
- Ouvrir http://editor.swagger.io/
dans un navigateur web. - Cliquez sur .
- Cliquez sur Browse pour sélectionner le fichier OpenAPI, puis sur Open.
- Cliquez sur Import.
- Cliquez sur .
L'exemple de code Java™ suivant importe les classes de proxy générées dans l'éditeur Swagger pour un ensemble de règles et appelle l'ensemble de règles à partir d'une application 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);
}
}
}