2
我需要使用jsonapi進行改造2。我嘗試使用moshi-jsonapi,但我無法使用moshi ConverterFactory。如何在Retrofit2中使用jsonapi?
TokenModel.java
@JsonApi(type = "tokens")
public class TokenModel extends Resource {
@Json(name = "cell_phone")
public String cellPhone;
}
TestService.java:
public interface TestService {
@POST("token")
Call<TokenModel> newOtp(@Body TokenModel tokenModel);
}
TestProvider.java:
public class TestProvider {
private TestService testService;
public TestProvider() {
OkHttpClient httpClient = new OkHttpClient();
Retrofit refRetrofit = new Retrofit.Builder()
.baseUrl(ClientConfigs.BASE_URL)
.client(httpClient)
.addConverterFactory(MoshiConverterFactory.create())
// .addConverterFactory(????????????????????????????)
.build();
testService = refRetrofit.create(TestService.class);
}
publicTestService getTestService() {
return testService;
}
}
如果我使用MoshiConverterFactory
使錯誤Unable to create converter for class com.xxx.xxx.model.TokenModel
!
使用改裝:
TsetProvider testProvider = new TestProvider();
TestService testService = testProvider.getTestService();
TokenModel tokenModel = new TokenModel();
tokenModel.cellPhone = "121212129999";
Call<TokenModel> call = testService.newOtp(tokenModel);
call.enqueue(new Callback<TokenModel>() {
@Override
public void onResponse(Call<TokenModel> call, Response<TokenModel> response) {
}
@Override
public void onFailure(Call<TokenModel> call, Throwable t) {
}
});
謝謝。它已經與您的代碼解決。 我發現其他[解決方案](https://github.com/kamikat/moshi-jsonapi/issues/30)相同的答案。 –