我不知道我的问题出在哪里。我必须发布原始的 body
{"app_id":"abced","app_key":"abced","request":"login","username":"[email protected]","password":"1234"}
我正在使用改造 2.0。我创建了一个界面
@FormUrlEncoded
@POST("index.php/")
Call<LoginResponse> getHome(@Field("app_id") String request,
@Field("app_key") String request1,
@Field("request") String request2,
@Field("username") String request3,
@Field("password") String request4);
并像这样调用:
Retrofit retrofitget = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
MyAPI ApiData = retrofitget.create(MyAPI.class);
Call<LoginResponse> GalleryGetSet = ApiData.getHome("abced","abced","login","[email protected]","1234");
GalleryGetSet.enqueue(new Callback<LoginResponse>() {
@Override
public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
Log.e(TAG, "data1" + response.body().getError());
}
@Override
public void onFailure(Call<LoginResponse> call, Throwable t) {
Log.e(TAG, "Error2" + t.getMessage());
}
});
总是出现错误: 第 1 行第 1 列的输入结束
通过改造后发布原始 body 数据的过程是否正确,或者我错了。已经谷歌它但没有得到我的解决方案。
请任何人帮助我。
我也试过这种方式
接口(interface)中的
@FormUrlEncoded
@POST("index.php")
Call<LoginResponse> getHome1(@Field("login") String data);
并且在打电话时
Retrofit retrofitget = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addConverterFactory(ScalarsConverterFactory.create())
.build();
MyAPI ApiData = retrofitget.create(MyAPI.class);
Call<LoginResponse> listGalleryGetSet = ApiData.getHome("ABCD","ABCD","login","[email protected]","1234");
listGalleryGetSet.enqueue(new Callback<LoginResponse>() {
@Override
public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
Log.e(TAG, "data1" + response.body().getError());
}
@Override
public void onFailure(Call<LoginResponse> call, Throwable t) {
Log.e(TAG, "Error" + t.getMessage());
}
});
我的 LoginResponse 类
public class LoginResponse {
private String error;
private Boolean vlink;
/**
*
* @return
* The error
*/
public String getError() {
return error;
}
/**
*
* @param error
* The error
*/
public void setError(String error) {
this.error = error;
}
/**
*
* @return
* The vlink
*/
public Boolean getVlink() {
return vlink;
}
/**
*
* @param vlink
* The vlink
*/
public void setVlink(Boolean vlink) {
this.vlink = vlink;
}
}
依赖项
compile 'com.squareup.retrofit2:retrofit-converters:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
提前致谢
最佳答案
而不是使用
@POST("index.php")
请尝试使用
@POST("/index.php")
并作为
Call<LoginResponse> getHome(@Body YourBodyPojo pojo);
这肯定会帮助你。
关于android - 改造 : Getting error ** End of input at line 1 column 1**,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37303964/