Apache Fineract supports client code generation using OpenAPI Generator. It uses OpenAPI Specification Version 3.0.3.
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());
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:
./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.
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.