【问题标题】:Retrofit 500 response during get在获取期间改造 500 响应
【发布时间】:2017-11-03 18:06:03
【问题描述】:

我正在尝试构建一个 android 应用程序,并且在 GET 操作期间收到 500 响应,该请求完美运行并在邮递员中返回 200。 这是我的代码,它在 on create 函数中。

 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

【问题讨论】:

    标签: android rest api retrofit


    【解决方案1】:

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

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

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

    More detail about error 500

    【讨论】:

    • 我静态传递了参数,没有任何改变,我得到了同样的错误。
    • 你能控制服务器吗?如果是,您可以在服务器中看到详细错误
    • 我正在使用 node.js,服务器没有错误,只需使用 500 代码传递正确的参数。
    • 我在同一个活动中得到了类似的操作并且它有效,我不知道这是什么问题。
    • LoginActivity.adresseLocal 怎么样?它们是一样的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2018-06-11
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 2018-01-29
    相关资源
    最近更新 更多