DELETE La solicitud no funciona, devuelve el código de estado 200
Estoy intentando despedir una petición DELETE usando HttpUrlConnection en android, estoy fijando el método setRequest como DELETE y obteniendo un 200 como código de respuesta. El elemento no se está eliminando. El async que estoy usando está abajo.
private class DeleteTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... urls) { String result = null; URL url = null; try { url = new URL(urls[0]); Log.i("URL to access :", urls[0]); } catch (MalformedURLException exception) { exception.printStackTrace(); } HttpURLConnection httpURLConnection = null; try { httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("DELETE"); httpURLConnection.setRequestProperty("charset", "utf-8"); httpURLConnection.setUseCaches(false); System.out.println("ResponseCode: "+httpURLConnection.getResponseCode()); if(httpURLConnection.getResponseCode() == 204){ Log.d(TAG,"Deleted"); } } catch (IOException exception) { exception.printStackTrace(); } finally { if (httpURLConnection != null) { httpURLConnection.disconnect(); } } return null; } } }
Parece que el setRequestMethod () no está funcionando y su tomar la solicitud como un GET y me da un 200!
- Org.apache.http.entity.FileEntity está obsoleto en Android 6 (Marshmallow)
- HttpURLConnection falla en Android
- Java.io.IOException: final inesperado de la secuencia
- okHTTP utilizado internamente en dispositivos Android> 4.4 cuando se utiliza HttpUrlConnection?
- HttpURLConnection envío de la solicitud JSON POST a Apache / PHP
Probé esto en el cartero (una extensión del cromo) y él trabajaba muy bien, si era un problema del backend entonces del cartero también él debe fallar.
okHttp: Yo estaba tratando de hacer que este trabajo en okHttp también para eso
Request request = new Request.Builder().url(url.toString()).patch(body).build();
¿Cómo voy a hacer esto para la eliminación, porque eliminar solicitud dosent tienen un cuerpo
Volly: He probado la biblioteca google volly también ..
RequestQueue requestQueue = Volley.newRequestQueue(TimerSummary.this); StringRequest request = new StringRequest(Request.Method.DELETE, uri, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d(TAG,"Response: "+response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d(TAG,"Error: "+error); } }); requestQueue.add(request);
Esto también vuelve como la petición de GET, estoy consiguiendo el artículo como json que se supone para ser suprimido.
cualquier sugerencia es apreciada. Gracias por adelantado..
- ¿Cómo se persisten las cookies cuando se utiliza HTTPUrlConnection?
- HttpURLConnection - "https: //" frente a "http: //"
- Cómo manejar las cookies en httpUrlConnection usando cookieManager
- AndroidHttpClient versus HttpUrlConnection para API Nivel 9 y superior
- HttpURLConnection de Android y URL con caracteres especiales
- DataOutputSteam me está lanzando una 'java.io.IOException: inesperado final de la secuencia'?
- Reutilizando HttpURLConnection para mantener la sesión viva
- HttpURLConnection solicitud de ser golpeado dos veces en el servidor para descargar el archivo
En realidad fue un error tipográfico! Yo soy un idiota! Ambos de mis métodos funcionan bien, pero ahora estoy utilizando la biblioteca volly de Google para cosas relacionadas con la red.
Me faltaba un "/" antes del "?" antes de agregar parámetros con la URL
- ¿Cómo puedo poner tipo genérico para TypeToken de Gson?
- PAYMENT_CREATION_ERROR en iOS de PayPal y SDK para Android