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 cliente doit transmettre les informations d'authentification pour le portail cloud (voir Informations d'authentification du service pour l'application cliente ).
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 OpenAPI fichier depuis le serveur d'exécution des règles :
- Déployez l'ensemble de règles du service de décision sur le serveur d'exécution des règles.
- Dans la console Rule Execution Server, accédez à l'onglet Explorer.
- 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 proxy générées dans Swagger Editor 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);
}
}
}