2017-02-22 35 views
0

Я использую код ниже и Volley lib для вызова api. в этом просто передающем методе и URL-адресе, мне также нужно передать заголовки.Реализация вольтовой библиотеки для вызова webservcies в android

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET, 
      "http//xyz", null, new Response.Listener<JSONObject>() 
+2

переопределить getHeaders() http://stackoverflow.com/questions/17049473/how-to-set-custom-header-in-volley-request – siva35

ответ

2

Как это:

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, URL, new JSONObject(), new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 
      //Handle response here 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      //Handle errors here 
     } 
    }) { 
     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      Map<String, String> params = new HashMap<>(); 
      params.put("HEADER KEY", "HEADER VALUE"); 
      return params; 
     } 
    }; 
    requestQueue.add(jsonObjectRequest); 
+0

Спасибо за быстрый ответ. Что такое RequestQueue? –

+0

Запросить очередь - это то, что вы добавляете JsonObjectRequest, чтобы отправить запрос на сервер, вы должны иметь что-то вроде этого в своем запросе RequestQueueQueue = Volley.newRequestQueue (context.getApplicationContext()); где вы можете выполнить requestQueue.add (jsonObjectRequest); Пожалуйста, примите ответ, если это поможет вам @RaminderSidhu – MichaelStoddart

+0

Что импортировать для карты и HashMap? –

1

Вы должны переопределить getHeaders() для ввода информации заголовка. Следуйте за этим -

private void callToApi(){ 

String serverUrl = serverUrl+"&lat="+99.9999+"&lng="+76.9887; 

     JsonObjectRequest weatherUpdateRequest = new JsonObjectRequest 
       (Request.Method.GET, serverUrl, null, new Response.Listener<JSONObject>() { 

        @Override 
        public void onResponse(JSONObject response) { 
         Log.d(CLASS_NAME, " JSON: " + response.toString()); 


       }, new Response.ErrorListener() { 

        @Override 
        public void onErrorResponse(VolleyError error) { 
         // TODO Auto-generated method stub 

        } 
       }){ 
      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       Map<String, String> headers = new HashMap<String, String>(); 
       headers.put("Authorization", "Bearer ghbgrbhrgt"); 

       return headers; 

      } 

     }; 

     Volley.newRequestQueue(getApplicationContext()).add(weatherUpdateRequest); 
    }