2012-04-23 18 views
19

REST API'lerini kolayca ayrıştırmak/üretmek/yayımlamak için günümüzde kullanan harika çocuklar nelerdir? Ben Swagger bir göz attım ve güzel görünüyor ama bakış açımdan Ruby ile uygun değil. Belki sadece yanılıyorum ve bir şey kaçırıyorum, yardım takdir edilecektir.Ruby tabanlı REST API'lerini üretin ve yayınlayın

+1

Harika görünüyor, ama aynı zamanda kurulum için çok iş gerektiriyor gibi görünüyor –

+0

Tam olarak, harika görünüyor ama kaçınmak istiyorum bir ton bağımlılıkları var. – jpemberthy

cevap

14

Henüz bir API'niz yok mu? Eğer durum buysa, önerdiğim yaklaşım budur.

  • swagger-specification kullanarak API için arayüzünü oluşturun. Bunu bir sunucu kullanmadan, see here yapabilirsiniz.

  • Arabirimi, swagger-ui kullanarak doğrulayın. Bu, tanımladığınız tüm uç noktaları (yine de, kodlama, json dosyaları hariç!) Görebilmenizi sağlar.

  • İstediğiniz bir arabirime sahip olduğunuzda, swagger-codegen kullanın. sunucusu. Şu anda daha fazla olan nodejs ve scalatra için şablonlar var. Yeni bir sunucu üreticisi yapmak, sadece bazı bıyık şablonlarını oluşturma/değiştirme meselesidir.

  • Ayrıca, müşterinizi swagger-codegen ile de oluşturabilirsiniz.

Bunun güzelliği, API'nizin arabirim tabanlı geliştirilmesini yapabilirsiniz. Arayüzleri oluşturun ve boşlukları doldurun. Sıhhi tesisat sizin için yapılır.

+1

Prototip ruby ​​desteği artık mevcut (not! değişiklikler daha çok ruby-ish yapmak için gelecek): https: // github .com/wordnik/swagger-codegen/tree/master/samples/server-generator/sinatra – fehguy

6

Swagger sana https://github.com/elc/rapi_doc bakmak gerektiğini düşündüğümden daha Eğer RoR kullanırsanız otomatik olarak Swagger uyumlu sunucuya https://github.com/wordnik/swagger-codegen

istemci kütüphaneleri oluşturmak için istemci olarak yakut ile kullanılabilir, ancak kullanımı kolay değildir edilebilir.

+0

Cevabınız için teşekkürler, peki, ben 'rapi_doc' denemeliyim. Swagger kadar seksi görünmüyor ama en azından kurulumu daha basit. – jpemberthy

+1

Bu rapi_doc linki bozuk. Çeşitli yerlerde çatallı buldum. https://github.com/phuc/rapi_doc 2008'den beri sürdürülmemiş gibi gözüküyor. –

8

Bunun için apipie ile oynamaya yeni başladık. Şimdiye kadar oldukça düzgün görünüyor.

+0

Teşekkürler, gelecek vadeden bir proje için bunu aklımda tutacağım. Zaten uygulamayı yayınladığım zaman, ben uygulamayı yayınladığım için swagger kullanıyordum. – jpemberthy

İlgili konular