Korzystanie z interfejsu OpenAPI

Klient można wygenerować z pliku OpenAPI , który został utworzony dla zestawu reguł usługi decyzyjnej.

Zanim rozpoczniesz

Aplikacja kliencka musi przekazać referencje uwierzytelniające dla portalu w chmurze.

Ważne:

Do wygenerowania klienta w preferowanym języku można użyć edytora Swagger lub innych narzędzi Swagger typu open source , na przykład: C#, Go, Apache Groovy, JavaScript, PHP, Python, Ruby, Scala, Swift lub TypeScript.

O tym zadaniu

Aby wywołać zestaw reguł usługi decyzyjnej z aplikacji klienckiej, należy utworzyć klasy proxy na podstawie pliku OpenAPI wygenerowanego dla ścieżki do zestawu reguł.

Procedura

  1. Uzyskaj plik OpenAPI dla zestawu reguł usługi decyzyjnej.
  2. Wygeneruj klasy proxy z pliku OpenAPI .
  3. Do wywołania zestawu reguł z aplikacji klienckiej należy użyć klas proxy.

Przykład

Aby pobrać plik OpenAPI z serwera Rule Execution Server:
  1. Wdróż zestaw reguł usługi decyzyjnej na serwerze Rule Execution Server.
  2. W konsoli Rule Execution Server przejdź do karty Eksplorator .
  3. Na panelu Navigator kliknij opcję RuleApp, a następnie kliknij zestaw reguł dla usługi decyzyjnej.
  4. W widoku Widok zestawu regułkliknij opcję Pobierz plik opisu HTDS.
  5. Jako typ protokołu usługi wybierz opcję REST .
  6. Wybierz format OpenAPI -YAML lub OpenAPI -JSON , aby wygenerować plik OpenAPI w YAML lub JSON.
  7. Zaznacz opcję Najnowsza wersja zestawu reguł i Najnowsza wersja RuleApp , aby wygenerować plik OpenAPI dla najnowszych wersji.
  8. Kliknij przycisk Pobierz.
Aby wygenerować klasy proxy w edytorze Swagger:
  1. Otwórz stronę http://editor.swagger.io/ w przeglądarce WWW.
  2. Kliknij opcję Plik > Importuj plik.
  3. Kliknij przycisk Przeglądaj , aby wybrać plik OpenAPI , a następnie kliknij przycisk Otwórz.
  4. Kliknij opcję Importuj.
  5. Kliknij opcję Generuj klienta > Java.
Następujący przykładowy kod Java™ importuje klasy proxy wygenerowane w edytorze Swagger dla zestawu reguł i wywołuje zestaw reguł z aplikacji 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);		
		}
	}
	
}