2013-04-08 53 views
5

Tôi đang cố gắng thực hiện một bài đăng REST lần đầu tiên và tôi không biết bắt đầu từ đâu.Cách thực hiện các yêu cầu RESTful POST từ Android

Tôi đang tương tác với WordPress REST API và đang cố gắng sử dụng this điểm cuối: /sites/$site/posts/$post_ID/replies/new, được sử dụng để gửi nhận xét mới cho một bài đăng nhất định.

Tôi nghĩ rằng tôi có một nắm bắt tốt về làm việc với các yêu cầu GET, vì tôi đã xử lý thành công một vài trong số chúng. Với những thứ đó, tôi có thể nói mọi thứ tôi cần nói với máy chủ sẽ hiển thị URL, nhưng có vẻ như phải có một bước khác với yêu cầu POST. Và câu hỏi của tôi là: Bước đó là gì?

Tôi có bao gồm nội dung tôi muốn gửi vào JSONObject và đăng nội dung đó không? Nếu vậy, làm thế nào để đăng nó? Tôi có cần phải xây dựng một tuyên bố bằng cách nào đó, tương tự như cách tôi sẽ xây dựng một tuyên bố để thực hiện trên một cơ sở dữ liệu? Hoặc là nó thực sự có thể vượt qua nội dung của tôi cùng thông qua URL, như các tham số yêu cầu?

Tôi biết rằng câu hỏi này hơi nhỏ về phía mở cho SO, nhưng tôi không thể tìm thấy một hướng dẫn hay trả lời những câu hỏi này. Nếu bạn biết một, xin vui lòng đề nghị nó.

(tôi đang làm tất cả điều này trong một ứng dụng Android)

Trả lời

7

câu trả lời của tôi được lấy trực tiếp từ một câu trả lời trên SO nhìn thấy ở đây Sending POST data in Android nhưng ive cắt và quá khứ câu trả lời vào đây để conveneience, Hope this helps

Http Khách hàng từ Apache Commons là con đường để đi. Nó đã được bao gồm trong Android. Dưới đây là một ví dụ đơn giản về cách thực hiện HTTP Post bằng cách sử dụng nó.

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

Bạn có thể thử sao chép và dán không có lỗi ... – Inoy

0

Bạn cần triển khai tập lệnh trên máy chủ, POST của bạn tương tác với tập lệnh đó và chuyển đoạn mã đó hoạt động với cơ sở dữ liệu của bạn.

Một kịch bản điển hình sẽ là:

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

Điểm khởi đầu tốt để học PHP sẽ là kiểm tra hướng dẫn PHPAcademy trên youtube.

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

PHP cũng sẽ giúp bạn mã hóa các kết quả trong JSON và gửi lại cho khách hàng của bạn.

Các vấn đề liên quan