Raj*_*jah 4 android retrofit2 rx-java2
已经对这个特定问题进行了彻底的搜索,但是在我遇到的每个问题下实现答案时,仍然得到相同的输出:
End of input at line 1 column 1 path $
Run Code Online (Sandbox Code Playgroud)
我在 PostMan 上执行了我的请求,并得到了预期的输出: 这是 Postman 请求的屏幕截图
接口
@POST(Constant.API_REQUEST)
Observable<ServerResponse> postToWinnersList(@Body ServerRequest serverRequest);
Run Code Online (Sandbox Code Playgroud)
API客户端
public class ApiClient {
public static Retrofit retrofit;
private static OkHttpClient.Builder okHttpClientBuilder;
private static HttpLoggingInterceptor loggingInterceptor;
public static Retrofit getApiClient(){
if (retrofit == null){
// create instance of Httpclient
okHttpClientBuilder = new OkHttpClient.Builder();
loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
if(BuildConfig.DEBUG){
okHttpClientBuilder.addInterceptor(loggingInterceptor);
}
// instance of retrofit
retrofit = new Retrofit.Builder().baseUrl(Constant.BASE_URL).
addCallAdapterFactory(RxJava2CallAdapterFactory.create()).
addConverterFactory(GsonConverterFactory.create())
.client(okHttpClientBuilder.build())
.build();
}
return retrofit;
}
}
Run Code Online (Sandbox Code Playgroud)
Retrofit/RxJava 请求代码:
Observable<ServerResponse> response = apiInterface.postToWinnersList(serverRequest);
response.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribeWith(new DisposableObserver<ServerResponse>() {
@Override
public void onNext(ServerResponse serverResponse) {
AVLoadingIndicatorView1.setVisibility(View.GONE);
txtSubmitWinner.setVisibility(View.VISIBLE);
}
@Override
public void onError(Throwable e) {
AVLoadingIndicatorView1.setVisibility(View.GONE);
txtSubmitWinner.setVisibility(View.VISIBLE);
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onComplete() {
showShortMsg(getString(R.string.submit_success));
}
});
Run Code Online (Sandbox Code Playgroud)
请帮忙,提前致谢。
当您期望响应中包含对象,但 API 不返回除结果代码(200,...)以外的任何内容时,您可能会收到此错误。选项: - 检查 API 是否确实返回ServerResponse. - 如果你真的不需要它返回任何东西,请使用Observable<Response<Void>>而不是Observable<ServerResponse>
| 归档时间: |
|
| 查看次数: |
17254 次 |
| 最近记录: |