Cómo ejecutar solicitudes RESTful de POST desde Android

Estoy tratando de ejecutar un puesto REST por primera vez y no sé muy bien por dónde empezar.

Estoy interactuando con la API de WordPress REST , y estoy tratando de utilizar este punto final: /sites/$site/posts/$post_ID/replies/new , que se utiliza para enviar un nuevo comentario a una publicación determinada.

Creo que tengo una buena comprensión sobre el trabajo con las solicitudes GET, como he manejado con éxito varios de ellos. Con esos, podría decir todo lo que necesitaba decir al servidor frente a la URL, pero parece que debe haber otro paso con las solicitudes POST. Y mi pregunta es: ¿Cuál es ese paso (s)?

¿Envuelvo el contenido que quiero enviar a un JSONObject y publicarlo? Si es así, ¿cómo lo publico? ¿Necesito construir una declaración de alguna manera, similar a cómo construiría una declaración para ejecutar en una base de datos? ¿O es realmente posible pasar mi contenido a lo largo vía la URL, como parámetros de la petición?

Soy consciente de que esta pregunta es un poco en el lado abierto de SO, pero no he podido encontrar un buen tutorial que responda a estas preguntas. Si usted sabe de uno, por favor sugiérelo.

(Estoy haciendo todo esto en una aplicación de Android)

Mi respuesta se toma directamente de otra respuesta en SO visto aquí el envío de datos POST en Android, pero ive cortar y pasado la respuesta aquí para conveneience, Espero que esto ayude

Http Cliente de Apache Commons es el camino a seguir. Ya está incluido en android. A continuación, se muestra un ejemplo sencillo de cómo utilizar HTTP Post.

 public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } 

}

Necesita implementar un script en su servidor, su POST interactúa con ese script y inturn ese script funciona con su base de datos.

Un escenario típico será:

Java HTTP POST ~~~> PHP ~~~~> MySql.

Un buen punto de partida para aprender PHP será comprobar los tutoriales de PHPAcademy en youtube.

http://www.youtube.com/course?list=EC442FA2C127377F07

PHP también le ayudará a codificar el resultado en JSON y publicarlo de nuevo a su cliente.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.