改造 2:第 1 行第 1 列路径 $ 处的输入结束

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)

请帮忙,提前致谢。

Ped*_*lez 8

当您期望响应中包含对象,但 API 不返回除结果代码(200,...)以外的任何内容时,您可能会收到此错误。选项: - 检查 API 是否确实返回ServerResponse. - 如果你真的不需要它返回任何东西,请使用Observable<Response<Void>>而不是Observable<ServerResponse>