JSON-RPC with Retrofit.
Declare your RPC Service.
interface MultiplicationService {
@JsonRPC("Arith.Multiply") @POST("/rpc")
Call<Integer> multiply(@Body MultiplicationArgs args);
}
Register the JsonRPCConverterFactory
while building your Retrofit
instance.
This must be done before any other converters are applied.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://localhost:1234")
.addConverterFactory(JsonRPCConverterFactory.create())
.addConverterFactory(MoshiConverterFactory.create())
.build();
Use Retrofit to build your service.
MultiplicationService service = retrofit.create(MultiplicationService.class);
Use your service.
service.multiply(MultiplicationArgs.create(2, 3)).execute().body(); // -> 6
Note: Only snapshot releases are available currently.
Download the latest JAR or grab via Maven:
<dependency>
<groupId>com.segment.retrofit.jsonrpc</groupId>
<artifactId>jsonrpc</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
or Gradle:
compile 'com.segment.retrofit.jsonrpc:jsonrpc:1.0.0-SNAPSHOT'