2010-10-05 35 views
19

Tôi muốn hỏi một số câu hỏi về cuộc gọi REST. Tôi là màu xanh lá cây cho cuộc gọi REST và tôi muốn thích cuộc gọi REST là gì và cách sử dụng URL để gửi một cuộc gọi REST tới máy chủ. Bất cứ ai có thể cho tôi một số hướng dẫn cơ bản hoặc liên kết để tôi tham khảo?Lệnh gọi REST là gì và cách gửi một cuộc gọi REST?

Ngoài ra, nếu tôi muốn gửi một cuộc gọi REST tới máy chủ, tôi nên làm gì? Tôi có cần phải đặt thứ gì đó trong URL không? hoặc đặt một cái gì đó trong máy chủ? Cảm ơn bạn.

+2

Thẻ "REST" của StackOverflow có một trang có liên kết hữu ích: http://stackoverflow.com/tags/rest/info –

+1

Câu hỏi này đã được hỏi nhiều lần trước đây. Bạn đã tìm kiếm câu hỏi hiện có chưa? –

+2

@DarrelMiller Nếu nó đã được hỏi nhiều lần trước đây, bạn nên đánh dấu nó là một bản sao. –

Trả lời

15

REST chỉ là một kiểu kiến ​​trúc phần mềm để hiển thị tài nguyên.

  • Sử dụng phương thức HTTP một cách rõ ràng.
  • Không trạng thái.
  • Hiển thị URI cấu trúc thư mục.
  • Chuyển XML, Ký hiệu đối tượng JavaScript (JSON) hoặc cả hai.

nghỉ ngơi cuộc gọi thông thường để trả về thông tin 34.456 khách hàng có thể trông giống như:

http://example.com/customer/34456 

Có một cái nhìn tại IBM tutorial cho các dịch vụ web REST

+3

REST không giới hạn ở bất kỳ loại phương tiện cụ thể nào. Sử dụng thử nghiệm/đồng bằng, hình ảnh/jpeg, văn bản/html, ứng dụng/xhtml, tạo của riêng bạn. –

9

Văn là phần nào của một sự hồi sinh của old- HTTP trường học, nơi mà các động từ HTTP thực tế (các lệnh) có ý nghĩa ngữ nghĩa. Tới gần đây, các ứng dụng muốn cập nhật nội dung trên máy chủ sẽ cung cấp biểu mẫu chứa biến 'hành động' và một loạt dữ liệu. Lệnh HTTP hầu như luôn là GET hoặc POST và hầu như không liên quan. (Mặc dù hầu như luôn luôn có một kế hoạch chống lại việc sử dụng GET cho các hoạt động có tác dụng phụ, trong thực tế rất nhiều ứng dụng không quan tâm đến lệnh được sử dụng.)

Với REST, bạn có thể thay thế PUT /profiles/cHao và gửi XML hoặc Biểu diễn JSON của thông tin tiểu sử. (Hay đúng hơn, tôi sẽ - bạn sẽ phải cập nhật hồ sơ của riêng bạn. :) Điều đó liên quan đến việc đăng nhập, thường thông qua các cơ chế xác thực được tích hợp của HTTP.) Trong trường hợp sau, những gì bạn muốn làm được chỉ định bởi URL và phần thân yêu cầu chỉ là ruột của tài nguyên có liên quan.

http://en.wikipedia.org/wiki/Representational_State_Transfer có một số chi tiết.

+0

cảm ơn bạn đã trả lời. Nhưng tôi vẫn chưa hoàn toàn hiểu. Bạn có nghĩa là tôi phải thiết lập một cái gì đó trong .xml, hoặc chỉ cần thêm đoạn trong URL như GET. – Questions

+0

@Questions: thường không có "thông số" giống như cách bạn sử dụng chúng trong yêu cầu GET. 'PUT/profiles/cHao' nói phải làm gì, vì dịch vụ RESTful sẽ hiển thị'/profiles/cHao' làm tài nguyên (ví dụ: tôi cũng có thể 'GET/profiles/cHao' và lấy lại phiên bản XML hoặc JSON của tôi và phần 'PUT' nói rằng tôi muốn thay thế nó. Điều duy nhất cần thiết là cơ quan yêu cầu (ví dụ: bản thân hồ sơ, thường là XML hoặc JSON) và tên người dùng và mật khẩu hoặc chứng chỉ ứng dụng khách (vì hầu hết các dịch vụ sẽ không cho phép người lạ sửa đổi người khác đồ đạc). – cHao

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