2012-04-23 4 views
19

Was sind coole Kinder, die heutzutage REST-APIs analysieren/generieren/veröffentlichen? Ich schaute auf Swagger und es sieht gut aus, aber aus meiner Sicht passt es nicht gut mit Ruby. Vielleicht bin ich einfach falsch und ich vermisse etwas, Hilfe wäre willkommen.Erstellen und veröffentlichen Sie Ruby-basierte REST-API-Dokumentation

+1

Scheint großartig, aber es scheint auch eine Menge Arbeit zu erfordern, um Setup –

+0

Genau, es sieht fantastisch aus, aber es hat eine Tonne von Abhängigkeiten, die ich gerne vermeiden würde. – jpemberthy

Antwort

14

Hört sich an, als hätten Sie noch keine API? Wenn das der Fall ist, empfehle ich diesen Ansatz.

  • Eine Schnittstelle für die API durch die swagger-specification verwenden. Sie können dies tun, ohne einen Server zu verwenden, see here.

  • Überprüfen Sie die Schnittstelle mit swagger-ui. Dadurch können Sie alle Endpunkte sehen, die Sie definiert haben (immer noch keine Codierung, außer für die JSON-Dateien!)

  • Sobald Sie eine Schnittstelle haben, die Sie wollen, verwenden Sie swagger-codegen, um eine Stubbed-Version von Ihrem zu erstellen Server. Es gibt zur Zeit Vorlagen für nodejs und scalatra mit mehr auf dem Weg. Um einen neuen Server-Generator zu erstellen, müssen einfach einige Schnurrbart-Vorlagen erstellt/geändert werden.

  • Sie können Ihren Client auch mit swagger-codegen erzeugen.

Das Schöne daran ist, dass Sie Interface-getriebene Entwicklung Ihrer API tun können. Erstellen Sie die Schnittstellen und füllen Sie die Lücken aus. Die Installation ist für Sie erledigt.

+1

Prototyp Ruby Support jetzt verfügbar ist (Achtung! Änderungen werden kommen, um mehr Ruby-ish zu machen): https: // github .com/wordnik/swagger-codegen/baum/master/samples/server-generator/sinatra – fehguy

6

Swagger kann mit Ruby als Client verwendet werden, um automatisch Client-Bibliotheken von einem Swagger-kompatiblen Server https://github.com/wordnik/swagger-codegen

zu erzeugen Wenn Sie RoR verwenden, als ich glaube, Sie bei https://github.com/elc/rapi_doc aussehen sollte, aber es ist nicht einfach zu bedienen.

+0

Hey danke für deine Antwort, nun, ich denke ich werde 'rapi_doc' versuchen. Es sieht nicht so sexy aus wie Swagger, aber zumindest ist das Setup viel einfacher. – jpemberthy

+1

Dieser rapi_doc-Link ist defekt. Ich fand es an verschiedenen Stellen gegabelt, z. https://github.com/phuc/rapi_doc Sieht so aus, als ob es seit 2008 nicht wirklich gepflegt wurde, obwohl –

8

Wir haben gerade angefangen mit apipie zu spielen. Bis jetzt scheint ziemlich ordentlich.

+0

Danke, sieht vielversprechend aus Ich werde dies für ein zukünftiges Projekt im Hinterkopf behalten. Ich benutze bereits Swagger für die App, über die ich gesprochen habe, als ich die Frage gepostet habe. – jpemberthy