【问题标题】:API request works for postman but got timeout for volleyAPI请求适用于邮递员,但凌空抽射超时
【发布时间】:2018-05-01 13:59:09
【问题描述】:

所以我在spoonucalur中使用API​​请求,这是一个提供食谱的食谱api。我在邮递员内部尝试了获取请求,它工作正常。但是,它在我的应用程序中非常不稳定。我正在使用 android studio,使用 volley 库来处理 get 请求。

 JsonArrayRequest getRequest = new JsonArrayRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        try {
                            callbackHelper.onSuccess(response.getJSONObject(0));
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.d("error", error.toString());
                    }
                }) {
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("X-Mashape-Key", currentAPI);
                params.put("Accept", "application/json");
                return params;
            }
        };
        Log.d("request", "starting");
        queue.add(getRequest);

有时它会返回正确的信息,但有时它只会显示 timeOutError。对于我的请求,它会在邮递员内部快速返回,因此我不知道为什么它现在不起作用。

这里是 api 链接:https://market.mashape.com/spoonacular/recipe-food-nutrition 这是我正在使用的获取请求:https://spoonacular-recipe-food-nutrition-v1.p.mashape.com/recipes/findByNutrients?maxCalories=4000&number=1&offset=0&random=true

【问题讨论】:

    标签: android api android-volley get-request


    【解决方案1】:

    更改Request 上的RetryPolicy 以允许更长的超时时间。

    例如

    final int TIMEOUT_MS = 10000;
    getRequest.setRetryPolicy(new DefaultRetryPolicy(TIMEOUT_MS, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy. DEFAULT_BACKOFF_MULT);
    ...
    

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 2020-11-08
      • 2019-08-25
      • 2021-10-06
      • 2021-05-24
      • 2017-08-21
      • 2020-11-20
      • 2021-04-13
      • 2022-08-15
      相关资源
      最近更新 更多