Utilizzo di OpenAPI
È possibile generare un client da un file OpenAPI creato per una serie di regole del servizio di decisione.
Prima di iniziare
L'applicazione client deve superare le credenziali di autenticazione per il portale cloud.
Importante:
Si può usare Swagger Editor o altri strumenti Swagger open source
per generare un client nel linguaggio preferito, ad esempio: C®#, Go, Apache Groovy, JavaScript, PHP, Python, Ruby, Scala, Swift o TypeScript.
Informazioni su questa attività
Per richiamare una serie di regole del servizio di decisione da una applicazione client, creare le classi proxy da un file OpenAPI generato per un percorso della serie di regole.
Procedura
- Ottenere un file OpenAPI per una serie di regole del servizio di decisione
- Generare classi proxy dal file OpenAPI
- Utilizzare le classi proxy per invocare la ruleset dall'applicazione client.
Esempio
Per ottenere il file OpenAPI da Rule Execution Server:
- Distribuire il ruleset del servizio di decisione a Server Di Esecuzione Regola.
- Nella console Server Di Esecuzione Regola vai alla scheda Explorer .
- Nel riquadro Navigator, fare clic su una RuleApp,, quindi su un ruleset per il servizio decisionale.
- Nella vista ruleset, fare clic su Recupera file di descrizione HTDS.
- Selezionare REST come tipo di protocollo di servizio.
- Seleziona OpenAPI - YAM o OpenAPI - JSON come formato per generare un file OpenAPI in YAML o JSON.
- Selezionare Ultima versione serie di regole e Ultima RuleApp versione per generare il file OpenAPI per le versioni più recenti.
- Fare clic su Scarica.
Per generare le classi proxy in Swagger Editor:
- Aprire http://editor.swagger.io/
in un browser web. - Fare clic su .
- Fare clic su Sfoglia per selezionare il file OpenAPI , quindi fare clic su Apri.
- Fare clic su Importa.
- Fare clic su .
Il seguente esempio di codice Java™ importa le classi proxy generate in Swagger Editor per una ruleset e richiama la ruleset da un'applicazione 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);
}
}
}