5

我第一次尝试执行 REST Post,但我不知道从哪里开始。

我正在与WordPress REST API交互,并尝试使用端点:/sites/$site/posts/$post_ID/replies/new,用于向某个帖子提交新评论。

我认为我对处理 GET 请求有很好的把握,因为我已经成功处理了其中的几个。有了这些,我可以通过 URL 说出我需要对服务器说的所有内容,但似乎 POST 请求必须有另一个步骤。我的问题是:那是什么步骤?

我是否将要提交的内容包装到 JSONObject 中并发布?如果是这样,我该如何发布?我是否需要以某种方式构造语句,类似于构造语句以在数据库上执行的方式?或者确实可以通过 URL 传递我的内容作为请求参数?

我知道这个问题对于 SO 来说有点开放,但我一直无法找到一个很好的教程来回答这些问题。如果你知道一个,请推荐它。

(我在一个 Android 应用程序中做这一切)

4

2 回答 2

7

我的答案直接取自在此处看到的 SO 上的另一个答案在 Android 中发送 POST 数据,但为了方便起见,我在此处剪切并过去了答案,希望这会有所帮助

来自 Apache Commons 的 Http Client 是必经之路。它已经包含在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
    }
} 
于 2013-04-08T03:13:31.673 回答
0

您需要在服务器上实现一个脚本,您的 POST 与该脚本交互,然后该脚本与您的数据库一起使用。

一个典型的场景是:

Java HTTP POST~~~> PHP ~~~~> MySql。

学习 PHP 的一个很好的起点是在 youtube 上查看 PHPAcademy 教程。

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

PHP 还将帮助您将结果编码为 JSON 并将其发送回您的客户端。

于 2013-04-08T03:46:53.457 回答