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. This permits you to use the API like the FineractClientDemo
illustrates:
import org.apache.fineract.client.util.FineractClient;
import static org.apache.fineract.client.util.Calls.ok;
link:{rootdir}/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientDemo.java[role=include]
The API client is built as part of the standard overall Fineract Gradle build. The client JAR can be found in fineract-client/build/libs
as fineract-client.jar
.
If you need to save time to incrementally work on making small changes to Swagger annotations in an IDE, you can execute e.g. the following line in root directory of the project to exclude non-require Gradle tasks:
./gradlew -x compileJava -x compileTest -x spotlessJava -x enhance resolve prepareInputYaml :fineract-client:buildJavaSdk
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.