Я делаю запрос залпа и выкладываю целое число, после этого решения Send Int in HashMap with Volley моего окончательный кода выглядит следующим образом:Volley POST целого
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = new JSONObject();
try{
jsonObject.put("store",storeId);
jsonObject.put("people", people);
jsonObject.put("date",reserveDate);
jsonObject.put("time", reserveTime);
jsonArray.put(jsonObject);
Log.i("jsonString", jsonObject.toString());
}catch(Exception e){
}
StringRequest stringRequest = new StringRequest(Request.Method.POST, domain + api,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("Response", response);
return;
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Error.Response", error.toString());
String json = null;
NetworkResponse response = error.networkResponse;
if(response != null && response.data != null){
switch(response.statusCode){
case 400:
json = new String(response.data);
System.out.println(json);
//json = trimMessage(json, "message");
//if(json != null) displayMessage(json);
break;
}
//Additional cases
}
}
})
{
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put("store",storeId);
params.put("people",String.valueOf(people));
params.put("date", "2017-01-04");
params.put("time", reserveTime);
Log.d("params", params.toString());
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<>();
headers.put("Authorization", finalToken);
Log.d("headers", headers.toString());
return headers;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
Здесь я хочу POST «людей», как целое, но сообщение об ошибке я получаю то, что «люди» это значение строки, я заявил, «народ», как:
Integer people = Integer.parseInt(reserveNum);
где reserveNum является числовым значением от EditText. как сделать «peopel» в моем запросе целое число?
UPDATE сообщение об ошибке:
{"errors":[{"message":"Invalid type: string (expected integer)","params":{"type":"string","expected":"integer"},"code":0,"dataPath":"/people","schemaPath":"/properties/people/type",.....
String.valueOf (люди) Эта строка дает ошибку u? – rafsanahmad007
@ rafsanahmad007 Я не уверен, что именно эта строка, но это будет моей догадкой, также пытается изменить String.valueOf (люди) на String.valueOf (3) для тестирования, не помогает ни – JerryKo
не попробовал Integer. toString (люди) – rafsanahmad007