我正在使用Retrofit來使用REST API端點,並遇到以下問題。 我認爲TransactionResponse類的數據模型有問題,但還不確定。
java.io.EOFException的:在第1行第1列路徑$輸入的結束在 的Android改型
我的呼叫請求如下。
@FormUrlEncoded
@POST("/ifapi.php")
Call<TransactionResponse> loadData(@Field("user") TransactionRequest user);
TransactionRequest類:
import javax.annotation.Generated;
@Generated("org.jsonschema2pojo")
public class TransactionResponse {
private Settings settings;
/**
*
* @return
* The settings
*/
public Settings getSettings()
{
return settings;
}
/**
*
* @param settings
* The settings
*/
public void setSettings(Settings settings)
{
this.settings = settings;
}
private Actions actions;
/**
*
* @return
* The actions
*/
public Actions getActions()
{
return actions;
}
/**
*
* @param actions
* The actions
*/
public void setActions(Actions actions)
{
this.actions = actions;
}
}
而且下面就是調用實際上做的代碼。
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();
}
});
}
catch(Exception e)
{
e.printStackTrace();
}
}
任何人都可以幫我嗎?提前致謝。
我正在使用以下庫。
compile 'com.squareup.retrofit2:retrofit:2.2.0'
compile 'javax.annotation:javax.annotation-api:1.2'
compile 'com.squareup.retrofit2:converter-gson:2.2.0'
看看這個[問題](https://github.com/square/retrofit/issues/1691)關於翻新github。它說你的身體長度是0 –
謝謝,我已經知道這個問題,這就是爲什麼我想在我的數據模型上找到問題。 –
我發現這個問題,你是對的,由於調用只與表單請求一起工作,因此正文爲空。你能幫我繼續嗎? –