Description
Our brand new "Fineract Client Java SDK API" emerging from https://github.com/apache/fineract/pull/1428/ for FINERACT-1216 contains at least some annotated Java methods which are invalid for Retrofit.
When enabling apiClient.getAdapterBuilder().validateEagerly(true);, I'm seeing e.g.
java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body. for method ClientApi.delete9 at retrofit2.Utils.methodError(Utils.java:54) at retrofit2.Utils.methodError(Utils.java:43) at retrofit2.RequestFactory$Builder.build(RequestFactory.java:213) at retrofit2.RequestFactory.parseAnnotations(RequestFactory.java:67) at retrofit2.ServiceMethod.parseAnnotations(ServiceMethod.java:26) at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:202) at retrofit2.Retrofit.validateServiceInterface(Retrofit.java:189) at retrofit2.Retrofit.create(Retrofit.java:141) at org.apache.fineract.client.ApiClient.createService(ApiClient.java:127) at org.apache.fineract.client.util.FineractClient.createService(FineractClient.java:42) at org.apache.fineract.client.test.FineractClientTest.testRetrieveAllClients(FineractClientTest.java:41)
As a first step to eventually fixing this (and having non-regression for it), I'll write an automated test about it (but keep it ignored, for now).
Attachments
Issue Links
- Blocked
-
FINERACT-1305 Release Apache Fineract v1.5.0
- Resolved
- blocks
-
FINERACT-1209 Integration Tests using new Swagger Client API ("Fineract SDK")
- Resolved
- relates to
-
FINERACT-1217 Remove manual hand-written *Swagger classes used only for annotations
- Closed
- links to