我需要使用改造来执行获取请求,但在调用我的界面中的方法之后应用程序崩溃。这是我必须得到的 JSON 代码:[{ "username": "matteo", "conteggio": 5, "isYou": 0},{ "username": "giovanni", "conteggio": 7, "isYou": 1}]我得到它添加邮件作为参数所以这是我的界面:public interface ServerService{String BASE_URL="https://seconda.herokuapp.com/";@GET("total?mail={mail}")Call<List<GetListParameters>> getList(@Path("mail") String mail);}这是它崩溃的活动(此代码是 OnClickListener):Retrofit retrofit=new Retrofit.Builder() .baseUrl(ServerService.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build(); ServerService ss=retrofit.create(ServerService.class); Call call=ss.getList(Mail); //the app crashes here call.enqueue(new Callback<List<GetListParameters>>() { @Override public void onResponse(Call<List<GetListParameters>> call, Response<List<GetListParameters>> response) { if(response.isSuccessful()){ ArrayList<UtenteAdapter> UtenteList=new ArrayList<>(); for(GetListParameters item: response.body()){ UtenteList.add(new UtenteAdapter(item.getUsername(), item.isYou(), item.getConteggio())); }我找不到我的错误,非常感谢您的帮助。
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
它抱怨:
IllegalArgumentException: URL query string "mail={mail}" must not have replace block.
For dynamic query parameters use @Query.
这意味着,它不喜欢?和它后面的查询字符串。
@GET("total")
Call<List<GetListParameters>> getList(@NonNull @Query(value = "mail") String mail);
^ 这将自动将查询字符串附加到URL,因为它的意思是。
添加回答
举报
0/150
提交
取消