2013-04-08 3 views
5

Я пытаюсь выполнить REST Post в первый раз, и я не совсем знаю, с чего начать.Как выполнить запросы RESTful POST с Android

Я взаимодействую с WordPress REST API и пытаюсь использовать this конечная точка: /sites/$site/posts/$post_ID/replies/new, которая используется для отправки нового комментария к определенному сообщению.

Я думаю, что я хорошо разбираюсь в работе с запросами GET, так как я успешно справился с несколькими из них. С этими словами я мог бы сказать все, что мне нужно было сказать серверу относительно URL-адреса, но, похоже, должен быть еще один шаг с запросами POST. И мой вопрос: что это за шаги?

Завершить ли я содержимое, которое я хочу отправить в JSONObject, и опубликовать его? Если да, то как мне его разместить? Мне нужно каким-то образом создать инструкцию, подобно тому, как я буду строить оператор для выполнения в базе данных? Или действительно возможно передать мой контент через URL-адрес в качестве параметров запроса?

Я знаю, что этот вопрос немного на стороне открытого для SO, но я не смог найти хороший учебник, который отвечает на эти вопросы. Если вы знаете один, предложите его.

(я делаю это все в Android приложение)

ответ

7

Мой ответ берется прямо из другого ответа на SO видели здесь Sending POST data in Android но ив вырезать и прошлом ответ здесь для conveneience, Надеюсь, что это помогает

Http-клиент от Apache Commons - это путь. Он уже включен в android. Вот простой пример того, как использовать HTTP-сообщение, используя это.

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 
    } 
} 
+0

Вы можете попробовать скопировать и вставить его без ошибок ... – Inoy

0

Вам необходимо реализовать скрипт на вашем сервере, ваш POST взаимодействует с этим скриптом и запустит этот скрипт с вашей базой данных.

Типичный сценарий будет:

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

Хорошей отправной точкой для изучения PHP будет проверка руководств PHPAcademy на youtube.

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

РНР, а также поможет вам кодировать результат в формате JSON и отправить его обратно к клиенту.

Смежные вопросы