I use method POST with Volley library. All it work fine but not display toast "Successful".
Below is code that I achieve update content with my server is successful.
String uri = "http://192.168.0.103:3000/api/SampleParticipant";
StringRequest request = new StringRequest(Request.Method.POST, uri,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getApplicationContext(), "Successful" , Toast.LENGTH_SHORT).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Error: " + error, Toast.LENGTH_SHORT).show();
}
})
{//Body
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("participantId", editText2.getText().toString());
params.put("name", editText3.getText().toString());
return params;
}
};
// Create Volley
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(request);
But in android studio show like this.
D/Volley: [1124] BasicNetwork.logSlowRequests: HTTP response for request=<[ ] http://192.168.0.103:3000/api/SampleParticipant 0x85adf657 NORMAL 1> [lifetime=5381], [size=704], [rc=500], [retryCount=1]
E/Volley: [1124] BasicNetwork.performRequest: Unexpected response code 500 for http://192.168.0.103:3000/api/SampleParticipant
D/EGL_emulation: eglMakeCurrent: 0xa3f85420: ver 2 0 (tinfo 0xa3f83350)
D/EGL_emulation: eglMakeCurrent: 0xa3f85420: ver 2 0 (tinfo 0xa3f83350)
It is an error from server side, nothing to do with volley
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
You can handle 500 error like this
@Override
public void onResponse(Response<YourModel> response) {
if (response.code() == 200) {
// Do awesome stuff
} else if(response.code() == 500){
Toast.makeText(this, "Error: internal server error", Toast.LENGTH_SHORT).show();
}
}