我第一次尝试执行REST Post,我不知道从哪里开始。
我正在与WordPress REST API进行互动,并尝试使用this端点:/sites/$site/posts/$post_ID/replies/new
,用于向某个帖子提交新评论。
我认为我已经很好地掌握了处理GET请求,因为我已经成功处理了其中的几个。有了这些,我可以说我需要向服务器说一下URL,但似乎必须有另一个POST请求步骤。我的问题是:那个步骤是什么?
我是否将要提交的内容包装到JSONObject中并发布?如果是这样,我该如何发布?我是否需要以某种方式构造一个语句,类似于我如何构造一个在数据库上执行的语句?或者是否可以通过URL传递我的内容作为请求参数?
我知道这个问题对SO来说是开放式的,但我一直无法找到一个能够回答这些问题的好教程。如果你知道一个,请建议。
(我在Android应用中都这样做)
答案 0 :(得分:7)
我的答案直接来自另一个答案,在这里看到Sending POST data in Android,但我已经切断并通过答案在这里为了方便,希望这有帮助
来自Apache Commons的Http客户端是可行的方法。它已经包含在android中。这是一个如何使用它进行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
}
}
答案 1 :(得分:0)
您需要在服务器上实现一个脚本,POST会与该脚本进行交互,并使该脚本与您的数据库一起使用。
典型的情况是:
Java HTTP POST ~~~&gt; PHP ~~~~&gt; MySQL的。
学习PHP的一个很好的起点是在youtube上查看PHPAcademy教程。
http://www.youtube.com/course?list=EC442FA2C127377F07
PHP还可以帮助您在JSON中对结果进行编码并将其发布回客户端。