使用改造的 GET 请求不起作用,应用程序崩溃

我需要使用改造来执行获取请求,但在调用我的界面中的方法之后应用程序崩溃。这是我必须得到的 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()));

                            }

我找不到我的错误,非常感谢您的帮助。


繁华开满天机
浏览 85回答 1
1回答

守着星空守着你

它抱怨: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,因为它的意思是。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java