2011-01-04 40 views
9

Có bất kỳ ghi tốt nào về việc tạo các API RESTful với Drupal không? Tôi thấy API dịch vụ, mà tôi đoán là nó được thực hiện như thế nào. Những gì tôi đang tìm kiếm, tôi giả sử là một so sánh của drupal so với các khuôn khổ khác cho mục đích cụ thể đó.Drupal là phụ trợ cho RESTful API?

Update - biết thêm một chút:

Đặc biệt, tôi có lẽ sẽ muốn được trở về json, và lý tưởng sử dụng động từ yêu cầu http (PUT, POST, GET, DELETE) đúng với nguồn tài nguyên chung url. I E. http://mysite/api/widgets/1 (POST -> tạo, GET -> xem, PUT -> cập nhật, DELETE -> xóa) như trái ngược với http://mysite/api/widgets/1/delete

Trả lời

7

Tôi không thể so sánh với các khuôn khổ khác, nhưng Service 3.x (đó là phiên bản 3 của module Services) cung cấp một mô hình định hướng tài nguyên cho dịch vụ với một chương trình phụ trợ REST (và một chương trình XML-RPC). Theo tài liệu của nó, bạn có thể create a new resource type khá dễ dàng (nếu bạn đã quen thuộc với Drupal) bằng cách sử dụng một API đơn giản vì nó quản lý JSON [P]/XML phân tích và tuần tự hóa.

Cập nhật, được nhắc bởi câu trả lời của David Eads: Tôi sẽ không bắt đầu với Drupal và Dịch vụ 3.x nếu nhu cầu cuối cùng chỉ là xây dựng một dịch vụ RESTful. Chúng không phải là giải pháp chung để xây dựng một backend dữ liệu với một RESTful API. Chúng nên được sử dụng khi cần thiết là một trang web hỗ trợ CMS hiển thị (một phần) dữ liệu của nó thông qua API RESTful.

2

Tôi chưa từng làm việc với Drupal 7 cho các mục đích như vậy, nhưng trong mùa hè, tôi được giao nhiệm vụ xây dựng một dịch vụ RESTful trong Drupal 6. Drupal 6 khá không phù hợp để phát triển các dịch vụ web: các nút nội dung và hệ thống tạo chủ đề được xây dựng xung quanh việc trả về HTML, do đó, bạn sẽ chiến đấu với khung công tác với số tiền hợp lý.

Mô-đun dịch vụ là hợp lý, nhưng cuối cùng, chúng tôi đã đi với Django Piston. Phát triển dịch vụ trong Piston mất ít thời gian hơn và đáng tin cậy và có hiệu suất cao.

3

Dịch vụ Drupal 3.0 giúp việc tạo các dịch vụ REST dễ dàng hơn nhiều so với các phiên bản trước (2.x). Cũng Services 3.0 làm việc với Drupal 6 và Drupal 7.

+0

Không chắc tại sao điều này được bình chọn xuống. Nếu tôi đang xây dựng * chỉ * một dịch vụ REST từ đầu tôi sẽ không sử dụng Drupal. Nhưng nếu tôi tình cờ xây dựng một trang web Drupal và cần một API REST - đây là cách tôi sẽ đi về nó. – jbrass

2

Nếu bạn đang tìm kiếm một khuôn khổ tốt để xây dựng một kiến ​​trúc RESTful, tôi rất xin đề nghị:

1. Recess Framework Vâng, giờ giải lao là rất tốt, bạn có các tuyến đường trực tiếp chức năng thông qua URL và điều khiển chuyển hướng đến các chức năng khác. Nó có một ORM đơn giản cho phép bạn làm những điều tuyệt vời trong thời gian ngắn.

2. Fat-Free Framework Tôi đã không được sử dụng F3 nhưng tôi biết nó đơn giản, cũng như các tài liệu, cho phép định tuyến cho kiến ​​trúc yên tĩnh và có ORM của nó

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