Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io.EOFException:Android改型中第1行第1列路径$1处输入结束_Java_Android_Rest_Retrofit2 - Fatal编程技术网

java.io.EOFException:Android改型中第1行第1列路径$1处输入结束

java.io.EOFException:Android改型中第1行第1列路径$1处输入结束,java,android,rest,retrofit2,Java,Android,Rest,Retrofit2,我正在使用改造来使用RESTAPI端点,我遇到了以下问题。 我认为TransactionResponse类上的数据模型有问题,但还不确定 java.io.EOFException:第1行第1列路径$in处的输入结束 安卓系统改造 我的电话请求如下 @FormUrlEncoded @POST("/ifapi.php") Call<TransactionResponse> loadData(@Field("user") TransactionRequest user); 下面是实际完

我正在使用改造来使用RESTAPI端点,我遇到了以下问题。 我认为TransactionResponse类上的数据模型有问题,但还不确定

java.io.EOFException:第1行第1列路径$in处的输入结束 安卓系统改造

我的电话请求如下

 @FormUrlEncoded
@POST("/ifapi.php")
Call<TransactionResponse> loadData(@Field("user") TransactionRequest user);
下面是实际完成调用的代码

OkHttpClient httpClient = new OkHttpClient.Builder().build();
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create()).baseUrl( 
RestAPI.BASE_URL).client(httpClient).build();
RestAPI service = retrofit.create(RestAPI.class);
Call<TransactionResponse> meResponse = service.loadData(request);

meResponse.enqueue(new Callback<TransactionResponse>() {
       @Override 
       public void onResponse(Call<TransactionResponse> call, Response<TransactionResponse> response) {
               if (response.isSuccessful()) {
                       TransactionResponse body = response.body();
                       Actions actions = body.getActions();
                       Map<String, String> params = actions.getParams();
               }
       }

       @Override
       public void onFailure(Call<TransactionResponse> call, Throwable t){
              t.printStackTrace();
       }
  });
另外,我发现请求使用表单数据,但不使用JSON数据。

我已经找到了解决方案,您需要以如下形式发布每个参数,而不是在包装器类中

@FormUrlEncoded

@POST("/ifapi.php")

Call<TransactionResponse> loadData(@Field("app_id") String app_id, @Field("install_id") String install_id, @Field("useragent") String useragent, @Field("ip") String ip, @Field("mccmnc") String mccmnc, @Field("action") String action );
@FormUrlEncoded
@POST(“/ifapi.php”)
调用loadData(@Field(“app_id”)字符串app_id、@Field(“install_id”)字符串install_id、@Field(“useragent”)字符串useragent、@Field(“ip”)字符串ip、@Field(“mccmnc”)字符串mccmnc、@Field(“action”)字符串action);
主要活动部分

OkHttpClient httpClient = new OkHttpClient.Builder().build();
Gson gson = new GsonBuilder()
                                       .setLenient()
                                       .create();
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(RestAPI.BASE_URL).client(httpClient).build();

RestAPI service = retrofit.create(RestAPI.class);
Call<TransactionResponse> meResponse = service.loadData("1", getUUID(), getUserAgent(), getIPAddress(), "20404", "start");
OkHttpClient-httpClient=new-OkHttpClient.Builder().build();
Gson Gson=new GsonBuilder()
.setLenient()
.create();
改装改装=新建改装.Builder().addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(RestAPI.BASE_URL).client(httpClient.build();
RestAPI服务=翻新.create(RestAPI.class);
调用meResponse=service.loadData(“1”,getUUID(),getUserAgent(),getIPAddress(),“20404”,“start”);

希望这能解决您的问题,尊敬的。

当我使用协同程序时,帮助我的是没有从函数调用返回任何内容:

@GET
@标题(“X-request-With:XMLHttpRequest”)
暂停功能调用(
@Url:String
)

在改装github时查看此项。它说你的正文长度是0谢谢,我已经知道这个问题,这就是为什么我想在我的数据模型上查找问题。我发现了这个问题,你是对的,正文是空的,因为调用只处理表单请求。你能帮我继续吗?你工作得很卖力,你救了我一天!谢谢。修复了我面临的相同问题。突然,当使用协同路由时,我的网络呼叫总是会返回一个错误。删除返回值修复了它,谢谢!但是你知道为什么添加报税表会导致错误吗?
@FormUrlEncoded

@POST("/ifapi.php")

Call<TransactionResponse> loadData(@Field("app_id") String app_id, @Field("install_id") String install_id, @Field("useragent") String useragent, @Field("ip") String ip, @Field("mccmnc") String mccmnc, @Field("action") String action );
OkHttpClient httpClient = new OkHttpClient.Builder().build();
Gson gson = new GsonBuilder()
                                       .setLenient()
                                       .create();
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(RestAPI.BASE_URL).client(httpClient).build();

RestAPI service = retrofit.create(RestAPI.class);
Call<TransactionResponse> meResponse = service.loadData("1", getUUID(), getUserAgent(), getIPAddress(), "20404", "start");