Generate Apache Fineract API Client

Apache Fineract supports client code generation using OpenAPI Generator. It uses OpenAPI Specification Version 3.0.3.

Fineract SDK Java API Client

The fineract-client.jar will eventually be available on Maven Central (watch FINERACT-1102). Until it is, you can quite easily build the latest and greatest version locally from source, see below.

The FineractClient is the entry point to the Fineract SDK Java API Client. Calls is a convenient and recommended utility to simplify the use of the retrofit2.Call type which all API operations return. Their benefit is illustrated e.g. in the FineractClientTest, but in short:

import org.apache.fineract.client.util.FineractClient;
import static org.apache.fineract.client.util.Calls.ok;

FineractClient fineract = FineractClient.builder().baseURL("https://demo.fineract.dev/fineract-provider/api/v1/").tenant("default").basicAuth("mifos", "password").build();
System.out.println(ok(fineract.clients.retrieveAll(...).getTotalFilteredRecords());

Generate API Client

The API client is built as part of the overall Fineract Gradle build. If you want to save (maybe) some time you can try to execute just the following line in root directory of the project:

  • Run ./gradlew :fineract-client:build

The client JAR can be found in fineract-client/build/libs.

Note: Build only fineract-client may or may not actually save you some build time. There are still project module dependencies that might trigger a complete build.

Validate OpenAPI Spec File

The resolve task in build.gradle file will generate the OpenAPI Spec File for the project. To make sure Swagger Codegen generates a correct library, it is important for the OpenAPI Spec file to be valid. Validation is done automatically by the OpenAPI code generator Gradle plugin. If you still have problems during code generation please use Swagger OpenAPI Validator to validate the spec file.