2012-04-23 3 views
19

Co to są fajne dzieci używające obecnie do łatwego analizowania/generowania/publikowania interfejsów REST API? Spojrzałem na Swagger i wygląda ładnie, ale z mojego punktu widzenia nie pasuje do Rubiego. Może po prostu jestem w błędzie i czegoś mi brakuje, pomoc będzie doceniona.Generowanie i publikowanie na podstawie REST API REST API

+1

Wygląda świetnie, ale wygląda na to, że wymaga wiele pracy, aby go skonfigurować. –

+0

Dokładnie, wygląda świetnie, ale ma mnóstwo zależności, których chciałbym uniknąć. – jpemberthy

Odpowiedz

14

Wygląda na to, że nie masz jeszcze interfejsu API? Jeśli tak, to jest to podejście, które zalecam.

  • Załóż interfejs do API za pomocą swagger-specification. Możesz to zrobić bez korzystania z serwera, see here.

  • Sprawdź interfejs za pomocą swagger-ui. To pozwala zobaczyć wszystkie zdefiniowane punkty końcowe (nadal, bez kodowania, z wyjątkiem plików json!)

  • Gdy masz już interfejs, który chcesz, użyj swagger-codegen, aby zbudować wygasłą wersję swojego serwer. Obecnie są dostępne szablony dla nodejs i scalatra. Tworzenie nowego generatora serwerów jest po prostu kwestią tworzenia/modyfikowania niektórych szablonów wąsów.

  • Możesz również wygenerować swojego klienta przy użyciu kodeku swagger-codegen.

Piękno tego polega na tym, że możesz sterować interfejsem API za pomocą interfejsu. Zbuduj interfejsy i wypełnij puste pola. Hydraulika jest dla ciebie.

+1

Wsparcie dla ruby ​​prototypowej jest już dostępne (zauważ, że zmiany będą się pojawiać, aby uzyskać więcej ruby): https: // github .com/wordnik/swagger-codegen/drzewo/master/samples/server-generator/sinatra – fehguy

6

Swagger może być używany z rubinem jako klienta do automatycznego generowania bibliotek klienta od A Swagger zgodny z serwerem https://github.com/wordnik/swagger-codegen

Jeśli używasz RoR niż myślę, że należy spojrzeć na https://github.com/elc/rapi_doc, ale nie jest to łatwe w użyciu.

+0

Hej, dzięki za odpowiedź, cóż, myślę, że spróbuję spróbować "rapi_doc". Nie wygląda tak seksownie jak Swagger, ale przynajmniej jego konfiguracja jest o wiele prostsza. – jpemberthy

+1

Ten link rapi_doc jest uszkodzony. Zauważyłem, że jest rozwidlony w różnych miejscach, np. https://github.com/phuc/rapi_doc Wygląda na to, że od roku 2008 nie jest on obsługiwany, chociaż –

8

Właśnie zaczęliśmy grać z apipie. Do tej pory wydaje się całkiem schludny.

+0

Dzięki, wygląda obiecująco, będę o tym pamiętał dla przyszłego projektu. Już używałem sztyletu dla aplikacji, o której mówiłem, kiedy opublikowałem pytanie. – jpemberthy