2012-04-23 29 views
19

Những đứa trẻ thú vị nào đang sử dụng ngày nay để dễ dàng phân tích/tạo/xuất bản các API REST? Tôi đã xem trên Swagger và có vẻ tốt đẹp nhưng từ quan điểm của tôi nó không phù hợp với Ruby. Có lẽ tôi chỉ sai và tôi đang thiếu một cái gì đó, giúp đỡ sẽ được đánh giá cao.Tạo và xuất bản tài liệu REST API dựa trên Ruby

+1

Có vẻ tuyệt vời, nhưng nó cũng có vẻ đòi hỏi rất nhiều công việc để thiết lập –

+0

Chính xác, nó trông tuyệt vời nhưng nó có một tấn phụ thuộc tôi muốn tránh. – jpemberthy

Trả lời

14

Có vẻ như bạn chưa có API? Nếu đó là trường hợp, đây là cách tiếp cận mà tôi đề nghị.

  • Tạo một giao diện cho API bằng swagger-specification. Bạn có thể thực hiện việc này mà không cần sử dụng máy chủ, see here.

  • Xác minh giao diện bằng cách sử dụng swagger-ui. Điều này cho phép bạn xem tất cả các điểm cuối mà bạn đã xác định (vẫn, không mã hóa, ngoại trừ các tệp json!)

  • Khi bạn có giao diện bạn muốn, hãy sử dụng swagger-codegen để tạo phiên bản được sắp xếp gọn gàng của máy chủ. Hiện tại, có các mẫu cho nodejsscalatra với nhiều mẫu khác trên đường đi. Tạo một trình tạo máy chủ mới chỉ đơn giản là tạo ra/sửa đổi một số mẫu bộ ria mép.

  • Bạn cũng có thể tạo khách hàng của mình bằng công cụ mã hóa chữ số.

Vẻ đẹp của việc này là bạn có thể thực hiện phát triển theo hướng giao diện của API. Xây dựng giao diện và điền vào chỗ trống. Hệ thống ống nước được thực hiện cho bạn.

+1

Hỗ trợ ruby ​​nguyên mẫu hiện đã có sẵn (lưu ý! thay đổi sẽ đến để tạo thêm ruby-ish): https: // github .com/wordnik/swagger-codegen/cây/chủ/mẫu/máy chủ-máy phát điện/sinatra – fehguy

6

Swagger có thể được sử dụng với ruby ​​như khách hàng để tự động tạo ra thư viện khách hàng từ một máy chủ Swagger tuân thủ https://github.com/wordnik/swagger-codegen

Nếu bạn sử dụng RoR hơn tôi nghĩ rằng bạn nên xem xét https://github.com/elc/rapi_doc, nhưng nó không phải là dễ dàng để sử dụng.

+0

Xin cảm ơn câu trả lời của bạn, ừm, tôi nghĩ tôi sẽ thử 'rapi_doc'. Nó không có vẻ gợi cảm như Swagger nhưng ít nhất thiết lập của nó đơn giản hơn. – jpemberthy

+1

Liên kết rapi_doc đó bị hỏng. Tôi tìm thấy nó được chia thành nhiều nơi, ví dụ: https://github.com/phuc/rapi_doc Có vẻ như nó chưa thực sự được duy trì kể từ năm 2008 mặc dù –

8

Chúng tôi vừa bắt đầu chơi với apipie cho việc này. Cho đến nay có vẻ khá gọn gàng.

+0

Cảm ơn, có vẻ hứa hẹn tôi sẽ ghi nhớ điều này cho một dự án trong tương lai. Đã sử dụng tính năng vênh vang cho ứng dụng tôi đã nói khi tôi đăng câu hỏi. – jpemberthy

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