2010-04-16 24 views
8

Tôi có một máy chủ dựa trên Rails đang chạy một số dịch vụ REST và giao diện người dùng web dựa trên Rails tương tác với máy chủ bằng ActiveResource. Máy chủ tương tự đang được các khách hàng khác sử dụng (ví dụ: thiết bị di động). Tôi phải tạo tài liệu cho giao diện REST. Tôi cần phải cung cấp URL dịch vụ, đầu vào/đầu ra và cấu trúc tài liệu lỗi cho từng dịch vụ.Tự ghi lại giao diện REST

Lý tưởng nhất, tôi muốn sử dụng trình chặn ở phía máy chủ sẽ ghi lại dịch vụ dựa trên lưu lượng truy cập hiện có. Tôi tự hỏi nếu có một viên ngọc để làm điều này.

Trả lời

1

Khi bạn áp dụng kiểu kiến ​​trúc REST, bạn không cần ghi lại giao diện của mình.

Hợp đồng giữa khách hàng và máy chủ được thiết lập theo loại phương tiện được sử dụng, nếu bạn cần bất kỳ tài liệu bổ sung nào khác, bạn không phải là RESTful.

Vì vậy, thay vì lo lắng về việc ghi lại dịch vụ của bạn, hãy đặt tất cả nỗ lực mô tả của bạn vào tài liệu về các loại phương tiện của bạn. Kiến thức về các loại phương tiện truyền thông là tất cả những gì cần thiết để thực hiện các máy khách cho máy chủ của bạn.

+3

đúng của nó mà các dịch vụ REST không cần một WSDL như một dịch vụ web cổ điển, nhưng họ cần một schema. Máy khách cần biết URL, phương thức HTTP, cấu trúc tài liệu đầu vào, cấu trúc trả lời và cấu trúc lỗi cho bất kỳ hành động nào. Những gì tôi yêu cầu khá giống với tài liệu API mà bạn thấy cho API YouTube RESt, HOẶC API REST của Twitter. Ví dụ: http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-users%C2%A0show –

+1

Có thể lập luận rằng không cần phải chỉ định phương thức HTTP cho một dịch vụ REST vì nó có thể được suy ra từ loại hoạt động. Nhưng trong thực tế, nếu bạn có một hoạt động tùy chỉnh (nghĩa là hoạt động không CRUD) thì tốt hơn là ghi lại phương thức HTTP dự kiến. –

+1

Ngoại trừ một URI để vào ứng dụng (có thể có nhiều URI mục nhập, BTW) tất cả các khía cạnh bạn đề cập cần được mô tả bằng đặc điểm kỹ thuật loại phương tiện. Dịch vụ không cần mô tả gì cả. Ví dụ: bạn phát triển các ứng dụng AtomPub dựa trên RFC5023, không dựa trên một số mô tả API. –

2

Darrel và Jon là chính xác, tôi sẽ tiếp tục thêm rằng API của bạn có thể được phát hiện tại gốc của nó. Đọc và viết hành động nên được trình bày.

Check-out Jon Moore nói chuyện để thảo luận thêm tại http://vimeo.com/20781278

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