在获取期间改进500响应

时间:2017-06-02 10:45:49

标签: android rest api retrofit

我正在尝试构建一个Android应用程序,并且在GET操作期间我获得了500响应,请求完美并且在邮递员中返回200。 这是我的代码,它在on create function中。

 try {

                OkHttpClient client = new OkHttpClient();
                client.setConnectTimeout(5, TimeUnit.MINUTES); // connect timeout
                client.setReadTimeout(5, TimeUnit.MINUTES);
                Retrofit retrofit = new Retrofit.Builder()
                        .baseUrl(LoginActivity.adresseLocal).addConverterFactory(GsonConverterFactory.create()).client(client)
                        .build();
                APIService service = retrofit.create(APIService.class);
                Call<List<Limit>> call1 = service.getLimit(pf.getString("ip",""),pf.getString("login",""),pf.getString("password",""),pf.getString("database",""), "792EE098-A158-4197-B6B9-23BD95D4F58B", "2", "2");

                call1.enqueue(new Callback<List<Limit>>() {
                    @Override
                    public void onResponse(Response<List<Limit>> response, Retrofit retrofit) {

                        System.out.println("respooooonse" + "" + response.code());
                        Gson gson = new Gson();
                        TypeAdapter<Limit> adapterrr = gson.getAdapter(Limit.class);
                        try {
                            Limit limit;

                            if (response.errorBody() != null)
                                limit =
                                        adapterrr.fromJson(
                                                response.errorBody().string());
                        } catch (IOException e) {
                            e.printStackTrace();
                        }

                        System.out.println("d5aaaaaaaaaaaaaaaaaal");
                        System.out.println("c bn d5al");
                        limits = response.body();
                        System.out.println(response.body());

                  for (Limit l : response.body()) {
    //
    //                          System.out.println(l.getRefpeak());
    //                            System.out.println(p.getPeak());

    //                            rms.add(new Entry(p.getRms(), i));
    //                            ku.add(new Entry(p.getKu(), i));
    //                            peak.add(new Entry(p.getPeak(), i));
    //                            cf.add(new Entry(p.getCf(), i));
    //                            ovelo.add(new Entry(p.getOvelo(), i));
    //                            b1.add(new Entry(p.getB1(), i));
    //                            b2.add(new Entry(p.getB2(), i));
    //                            b3.add(new Entry(p.getB3(), i));
    //                            b4.add(new Entry(p.getB4(), i));
    //                            b5.add(new Entry(p.getB5(), i));
    //                            b6.add(new Entry(p.getB6(), i));
    //                            speed.add(new Entry(p.getSpeed(), i));
    //                            i++;
                          }


                        }





                    @Override
                    public void onFailure(Throwable t) {
                        //avi.hide();
                        System.out.println("faiiiilure");
                        System.out.println("KAKA" + t.toString());
                    }
                });
            } catch (Exception e) {
                Log.d("onResponse", "There is an error");
                e.printStackTrace();
            }

我的代码有什么问题?   https://i.stack.imgur.com/LPVm9.jpg

1 个答案:

答案 0 :(得分:0)

如果您收到状态码= 500的响应,该响应是指内部服务器错误&#34;错误,那么这可能是服务器无法很好地处理请求中发送的数据。 要了解更多详细信息,可以记录要发送到服务器的所有参数:

pf.getString("login","")
pf.getString("ip","")
...

然后与Postman中发送的参数进行比较。

More detail about error 500