[英]Android retrofit get json object
我正在為Web服務使用改造庫,該庫期望請求為json並給出響應為json。
public class GitHubClient extends Activity{
private static final String API_URL = "http://10.0.0.32/test";
static class Contributor {
String login;
int contributions;
}
public static class Array {
public String id;
public String name;
}
class Contributor1 {
public Array array;
}
interface Login {
@POST("/testapp/")
Contributor1 mu(@Body User user,Callback<Contributor1> callBack);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new myasyncclass().execute();
}
public class User {
public String mail;
public String password;
}
public class myasyncclass extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
// Create a very simple REST adapter which points the GitHub API endpoint.
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer(API_URL)
.build();
Login login = restAdapter.create(Login.class);
User user=new User();
user.mail="ttete";
user.password="tett";
Contributor1 contributors = login.mu(user,new Callback<Contributor1>() {
@Override
public void failure(RetrofitError error) {
System.out.println("failure, error: " + error);
}
@Override
public void success(Contributor1 result, Response arg1) {
System.out.println("success, result: " + result);
}
});
return null;
}
}
}
這是我的全班。但是我遇到了以下錯誤
由以下原因引起:java.lang.IllegalArgumentException:方法mu只能將返回類型或Callback作為最后一個參數,而不能同時使用。
我應該如何克服這個錯誤?
根據錯誤,此接口定義是錯誤的。
interface Login {
@POST("/testapp/")
Contributor1 mu(@Body User user,Callback<Contributor1> callBack);
}
您應該將其修改為
interface Login {
@POST("/testapp/")
Contributor1 mu(@Body User user);
}
由於現在它沒有回調,因此您應該可以同步調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.